Removing some of the hadrcoded calls to Inflector::underscore() used in
the Router.
Rolling back some changes until I figure out how to handle plugin routes
Removing inflections out from the router, this also means that default
routes need to change or be treated differently
Adding and using a InflectedRoute class for default routes.

This will maintain backwards compatibility while still leaving room for
extensibility
Fixing a doc block
Fixing failing tests
It is safe again to auto-require the default routes in tests
Fixing tests and removing one that made no sense
Reverting change that broke a few tests and was not actually needed
Fixing another broken test
Add context argument to widget render().

Having access to the form context makes it easier to make multi-input
form widgets, as you can access schema metadata, and current values for
other fields. The example use case that fueled this change was a date
range picker made of a start/end input.
Pass the context into widget rendering.

Both render() and afterRender() need access to the current form context.
Inflecting the prefix key in Inflectedroute
Simplify string key based option array merges to + operator for consistency and micro-opt. Also removed dead code.
Re-introduce the removed enabled option for Helper::__get()
Merge pull request #3686 from dereuromark/3.0-merges

3.0 merges simplified
Merge pull request #3680 from cakephp/3.0-camelcase-actions

3.0 - No inflector in routes
Add a special `_view` widget.

Widget classes can use `_view` as a dependency to access the current
view class. This makes it much easier for widget objects to add script
files, css files, or render elements if they need to.
Re-instate the capture mode of View::append().

Use the existing features of ViewBlock to create an append() with
capture mode.

The discussion in cakephp/docs#1402 showed that there is still a use for
a capturing mode to append().
Moved plugin classes files under "src" folder.