Refactor URL shortener as separate API
This will allow us to plug different URL shorteners, and for the
third-party users to use ones different from ours.
Also implemented test API for UrlShortener extension, currently
only for Beta. Once it is deployed in production, we can add