a) If you want. Personally I'd use a single PageController as you are, until it got too big. They're just static pages with no create/update/destroy methods. Just read methods. You could also simplify it a bit more by having a single catch-all route using a wildcard, and the controller would just pass back the appropriate view. So you'd just need one method instead of a method for each "page". Just check if the view file exists and 404 if not.
c) include a .env.example file that has all of the settings (minus the actual values). That's what laravel does (and composer copies it to .env). If you check the repo, there isn't an actual .env file.
For A, something like this as your last route in web.php file (not tested)
Route::get('/{page}', 'PageController@show');
public function show($page) {
if (View::exists('pages.' . $page)) {
return view('pages.' . $page);
}
abort(404);
}
assuming you have
/resources/views/pages/home.blade.php
/resources/views/pages/about.blade.php
etc
Edit: There are also View routes, so you don't actually need a controller. I like the catch-all controller though, but depends on your needs and how many views you have.
Route::view('/welcome', 'welcome');