Custom UrlGenerator so that API Routes can be used with URL::action()

A custom UrlGenerator designed to solve issue #129. 


Btw @jasonlewis, I had to stash these changes for realizing I needed to pull from Upstream, so it's considering some of the PSR-2 style changes as my commit after re-applying the stash. Still learning some things about Git, so apologies.

Files should end in a single blank line.