Allow generating REST resources by setting a default extension.

This permits writing routes without the need to specify the extension.

If no extension is found, the default will be used.
If an extension is found, that extension will be used.

It is useful when you always want those resources to be identified as a
specific type.

So after a call like:

Router::mapResources(['categories'], ['_ext' => 'json']);
Router::parseExtensions('json', 'xml');

the following two will render JSON:

http://example.com/categories/1
http://example.com/categories/1.json

and

http://example.com/categories/1.xml

will still be returning XML.

If the parseExtension() call is omitted, the non-extension URL:

http://example.com/categories/1

will still be rendering JSON.
Test that resources can be mapped with a default extension.
Replace empty arrays with the new syntax.
Always set an '_ext' parameter when calling Router::url().

Add '_ext' to MissingControllerException (why not?).
Update tests.
Replace more arrays in favor of the shorter syntax.
Be more explicit on what the test is about.
Merge pull request #3007 from bar/3.0-extension

3.0 - Allow generating REST resources using a default extension.