Add a handler for a tag by its type and tag ID.
Use the new Tag.by_tag_id method.
Redirect section tags from their previous URLs.
List tags by type at /tags/<type>.json.
Correct casing of tag types.
Change /tags/<type>.json to use a plural.

For example, instead of /tags/section.json, we have /tags/sections.json.

This is more consistent with the `/tags.json` URL, since it indicates a
collection response. It does make the URL harder to build manually, but we
should have a list of tag types and their URLs anyway to avoid manual
URL-building.

To avoid calling ActiveSupport's inflection methods repeatedly, there's also
a TagTypes class, which precomputes singular and plural names and acts as a
lookup table.
Implement the TagType class as a Struct.
Add a resource for the list of tag types.
Change the description field when filtering tags.
Add root/parent filtering for section tags.
Identify tags by type and ID in `with_tag.json`.

When dealing with the old parameter style of `tag=crime`, where
we can find out for sure which tag the user means then we can
redirect to the new parameter style.
Fix mistyped parameter name.
Merge pull request #69 from alphagov/tags_by_type_and_id_rebased

Tags by type and ID