Load layouts

The layout property controls what to do with the layouts. If it is:
- false: do not load a layout
- true: try to load the controller specific layout, if fails, load the
  default layout file
- path: load the defined layout view
Rebase code

Now every smaller task is in its own method, making it easier to
override, as it should have already been.
Updated readme with layout descriptions
update composer.json
fixed json validity
fixed version alias
fixed version
fixed version
Fix layout load check

The check was checking for string, and if it is a string, it would try
to load the controller default layout/app default layout, which is
wrong. This should happen when layout property is in fact set to bool
true.
Merge branch 'feature/layouts' into develop