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. Also update the test so that it does not actually test the existence of classes, permitting asserting the name of expected classnames based on input only.