Renamed fake_uri to fake_uuid

Because it generates a uuid, not a uri
Refactored out the code to generate a uri to a single method
Simplified how optional gems are loaded
Moved JSON::Util::UUID from /lib/uri to /lib/util

Doesn't have anything to do with uris, surely?
Made it explicit that we need rubygems version 1.8+

Because of the new, abbreviated rubygems loading code
Merge pull request #147 from iainbeeston/validator_tidy

Validator tidy
Resolve merge conflict in json-schema.gemspec