Allow installing to subdirectories of GameData

This is my little icing on top of the amazing work by @Ippo343.  It includes everything in #394, plus some additional tests.

The new spec version is `v1.2`. Dev clients (that you build yourself) should read it. Release clients, including our existing releases, should ignore it until they are v1.2.0 or above.

I'm happy for this to be merged, as I'm delighted with @Ippo343's changes. This is mainly here so mine can be reviewed. To just see my changes, you can:

    # Add my repo as a remote, if you don't already have it.
    $ git remote add pjf git://github.com/pjf/CKAN.git

    # Update local knowledge of my repo, and view diffs
    $ git fetch pjf
    $ git diff 4f6a000...4512790

Many thanks!

~ Paul