Add a basic test for run

Note that to run this you need to replace values in the yaml files - don't want to commit our environment data.

Also - this should really be in spec/data I think, but there's a test that runs eveverthing in there so it's in support for now.
Pull out config loading to a separate class

This is a non-breaking change. Note that the launch_spec was actually only testing the parsing of the configuration so have renamed that spec rather than pulling the test out.
If input file is JSON, code becomes much simpler

We no longer have any need for all the complex parsing code. I've also removed the merging code as that's part of the parsing, but merging defaults will still be required - but it's not gone as we have git.

We also do not need the config_loader test, as it only tested whether the yaml was parsed correctly.
What the JSON would look like

This can be used for confirming that this does work. Replace the VDC_NAME, CATALOG_AME and CATALOG_ITEM with valid values, and then run vcloud-launch as usual:

`bundle exec vcloud-launch spec/integration/support/working.json`
Update integration test...

Though it could do with a little fleshing out as a test.

Note that this also requires the VDC_NAME etc to be changed to values that will work.
Add test that JSON parses correctly
Use YAML to load

This means input can be either YAML or JSON. It does mean it has to go via JSON because there is no symbolize keys method in Ruby, which is annoying. It might be better to write a symbolize keys method but this works for now.
This test is actually adding very little
Merge branch 'master' into change-input-format

Conflicts:
	lib/vcloud.rb
The functionality and test that uses these is gone
Move the test data to correct folder

Couldn't do this previously because of the test that looked for everything that ended in yaml.
Add an example of using anchors for defaults

Using the built-in anchors/aliases functionality of YAML we can keep YAML input files DRY.
Tiny comment change

This hack upsets me, but the alternative appears to be writing our own symbolize_keys method, which has to be recursive but only for nested Hashes and nested Arrays. Complex piece of code for us to maintain vs dirty hack but using an established library? Hmm. Leaving as is for now after some playing with it.
Add deprecator warning for old format
Bump version
Merge pull request #25 from alphagov/change-input-format

Allow JSON as input format; use anchors for defaults not parse_config