Differentiate between laravel base and composer base

This change makes the difference between the following paths explicit, whereas currently they both run off `path.base`:

- the path where the laravel/laravel app is installed
- the path where `composer.json` is stored, it's assumed that `vendor/` in the same place

This change supports the following use case, which we're using on a current project, and likely to use on more.

- we like having all our code in one repository for a particular application
- we have multiple endpoints to this application, that we want to keep separate
 - public facing front-end
 - backend for administration
 - an API
- we want each of these to sit in their own directory, with their own controllers, assets, routes and what-not.
- each of these `ports` interacts with an separate domain model, which uses illuminate packages.

So, we need each `port` to be in a sub-directory, and hence we this commit allows us to do that, whilst still defaulting to the current behaviour.

I will follow this up shortly with a PR on https://github.com/laravel/laravel.