Initial commit

Implements generic URL shortening service meant for use on
Wikimedia wikis.

- Store URLs in a database table.
- Is consistent - same URL will return same shorturl
  every time.
- Used mw.ui for UI styling
- Makes use of cache to store both shortcode -> url and
  url -> shortcode mappings.
- Issues 301 redirects.
- Supports protocol relative display of short URLs.
- Stores md5 hashes of the URLs as well to get around
  the fact that URLs can be arbitrarily long but
  database indexes can not be.
- Caches and purges negative hits

Implementation for
https://www.mediawiki.org/wiki/Requests_for_comment/URL_shortener

Change-Id: I5764cc21f8160aad650c98cd5260acbddb462c97