Modifying bake templates for a fresher look.

Some of the highlights:

* It uses a couple foundation css classes, I plan to remove this later
* Index tables are limited to 7 fields
* TEXT type fields are removed for the index table
* Reordered the pagination elements for a better look
Starting to fix subquery strategy to accept paginated queries
Making more progress towards supporting limit and offset with subquery strategy
Make sure the inner join with the junction table happens first
Only run 1 SQLServer build.

We don't run against multiple versions of Postgres, or MySQL I don't
think there is a ton of value in running against both versions of
SQLServer either.
Used ConventionsTrait::_modelKey() to create FKs
Load widgets config from file quick fix
Fixed failing tests in Sqlite
Restore removed WidgetInterface
Fix Travis CI build
Fixed failing tests in mysql due to results ordering
Tests for widgets from file
Fixed tests in postgres

This meant that the internal subquery table alias is leaked to the external query
and columns are not quoted anymore so that they can be referenced seemlessly in
conditions without having adress the column alias.
Fix for var type in doc comments
Using the correct order by syntax
Documenting new methods
Fixed CS
Merge pull request #4591 from cakephp/3.0-fix-subquery-offset

3.0 - Reimplement the subquery selection strategy
Make bake generate IntegrationTestCases.

ControllerTestCase is deprecated and will be going away. Bake should
generate tests using this new test class.

Refs #4592
Start implementing Controller::initialize()

Fix tests and update code to implement a new initialize() hook that
works similar to Table::initialize(). Hopefully, with this we can
deprecate the $components and $helpers properties and replace them with
methods.