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.

Surprised when I ran this through PSR-2 formatting that wasn't added, I'm taking care of this now.