Start updating ViewTask.

Fix template name generation for prefixed actions. Since actions no
longer have prefixes in the names we can't use that as as way to
find the prefixed templates. ViewTask still supports using `admin_add`
as a way to generate `Foos/Admin/add.ctp` though. Add/Edit actions will
fallback to a `form` template if it exists.
Add controller() method and various other fixes.

The new method makes it easier to work with controller classnames by
centralizing some logic. It also makes testing much easier.
Update templates and ViewTask to kind of work.

The code kind of works right now. I still need to do some manual testing
to catch any errors the test suite is not catching.
Fix admin template generation.
If a controller does not exist guess at the model name and generate views.

If we don't have a concrete controller, we can use the controller name
as a guess for the table class name. From there we can generate views.
They may not be the best views but better than an error.
Unskip remaining tests.
Fix a few mistakes.

* postLink() doesn't accept null anymore
* variable names were incorrect.
* missing HTML escaping
Fix missing options parameter for belongsto associations.

In 3.0 you need to provide the options parameter to get select boxes.
FormHelper no longer goes fishing through view variables.
Accessible entity fields should be accessible.
Fix generated actions.

We need belongsTo on the list page, and all associations with the view
page. Edit and Add need the BelongsTo/BelongsToMany associations.
BelongsToMany elements should be the property name not the association name.
Add association properties to accessible fields.

The various association fields need to be accessible. If they are not
the data cannot be marshalled into an entity.
Fix mistake with property name.
Use button() instead of submit().
Add controller option.

This option allows you to bake views based on a model for a different
controller. For example bake Tasks related views into the Timesheet
controller.
Expand help in view task.
use a boolean flag for loading default config

this prevents problems where the configarray is emptied deliberately and
then unintnetionally re-loaded with the default config
settings -> config

This includes tweaking the string template system
don't needlessly reimplement trait functions
Add default callback for CollectionTrait::filter().

Refs #3128