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.

Can you change your editor so it doesn't put these spaces in between the `[` and the `'`?