Update App::classname for more flexiblity

Allow using `/` within a classname, previously the following would fail:

    App::classname('Some/Class', 'Namespace');

Even if `App\Namespace\Some\Class.php exists
add no suffix tests
Add test for Router::reverse which tests a standard URL format.
Merge pull request #2432 from AD7six/3.0-3.0-app-classname

Update App::classname for more flexiblity
Always use forward slash when refering to sub types

Using a backslash has the implicit suggestion that you can also use a
backslash in classname, but whereas these two calls are equilvalent:

    App::classname('Name', 'Sub/Type');
    App::classname('Name', 'Sub\Type');

These are not:

    App::classname('Sub/Name', 'Type');
    App::classname('Sub\Name', 'Type');

The last example is taken to be a fully qualified classname, and will
therefore fail. Rather than leave the suggestion that slashes are
treated equally for all parameters - ensure consistent usage.