Enable TravisCI for our master branch

Same as alphagov/vcloud-core@b476daf to ensure that pull requests from forks
are built.
Merge pull request #36 from alphagov/72271312-enable_travis_master_branch

[#72271312] Enable TravisCI for our master branch
Rename methods that return config/vApp/VM schemas

These methods are already namespaced to the class that's defining them. The
prefixes of `provision_` and `customize_` seem rather arbitrary and don't
really describe the contents.

These are about to be refactored to different locations where I'll just call
them `VAPP_SCHEMA` and `VM_SCHEMA`. Calling out this rename in preperation
for that.
Move schemas to constants under Launcher::Schema

This follows the pattern in use by alphagov/vcloud-edge_gateway, which I
like because it makes it clear that these don't get computed or change at
runtime and allows us to point users at them if they need to know what a
valid configuration looks like.

Like alphagov/vcloud-edge_gateway@b30f91b I have also included a link in the
README so that people can find them.

PS: Additional newline in VmOrchestrator to match other classes.
Merge pull request #37 from alphagov/71591898-consistent_schema_locations

[#71591898] Move schemas to constants under Launcher::Schema
Add allocation_mode to vm network config
Add allocation_mode: 'pool' to examples
Bump vcloud-core version dependency to 0.5.0
Update CHANGELOG for VM IP allocation by pool

Reflects changes in
https://github.com/alphagov/vcloud-launcher/pull/38/files.
Version 0.1.0

Bump version to 0.1.0 and update date in CHANGELOG.
Merge pull request #38 from alphagov/geriBatai-ip_pools

Support for VM IP pools
Rename Rubocop

As of version 0.23.0[1], Rubocop is now RuboCop. This broke our CI
builds.

Fix the namespacing in our Rakefile to reflect this and use pessimistic
versioning to pin Rubocop to the 0.23.x series in our gemspec file.
Since RuboCop's API is not yet stable (as would be the case from version
1.0.0), future changes such as these could break our builds again.

[1]: bbatsov/rubocop@7ee7a8b
Merge pull request #39 from alphagov/72432612-fix-rubocop

[#72432612] Rename Rubocop
Convert specs to RSpec 2.14.8 syntax with Transpec

This conversion is done by Transpec 2.1.0 with the following command:
```
transpec
```

This change means our tests consistently use the `expect` syntax. The
old `should` syntax is deprecated in Rspec 3[1].

[1]:
https://www.relishapp.com/rspec/rspec-expectations/docs/syntax-configuration

* 43 conversions
    from: obj.should
      to: expect(obj).to

* 23 conversions
    from: obj.should_receive(:message)
      to: expect(obj).to receive(:message)

* 4 conversions
    from: obj.should_not
      to: expect(obj).not_to

* 3 conversions
    from: obj.stub(:message)
      to: allow(obj).to receive(:message)

* 2 conversions
    from: == expected
      to: eq(expected)

* 1 conversion
    from: =~ /pattern/
      to: match(/pattern/)

* 1 conversion
    from: =~ [1, 2]
      to: match_array([1, 2])

See also: https://github.com/yujinakayama/transpec#supported-conversions
Disable `should` syntax in Rspec

`should` syntax is deprecated as of Rspec version 3.0 and the previous
commit converts all of our tests to use `expect` for consistency.

To prevent regressions, this change disables `should` syntax for this
gem.
Add contributing guidelines
Merge pull request #41 from alphagov/contrib

[#72536858] Add contributing guidelines
Merge pull request #40 from alphagov/72424964-transpec

[#72424964] Convert Rspec tests to use `expect` syntax
Replace methadone with optparse and add CLI tests

Replace methadone with optparse for passing CLI options and replace
Cucumber/Aruba tests with unit tests for the new Vcloud::Launcher::Cli
class.

`--version` no longer prints help. Just the version string.

I've chosen to rescue exceptions and print the exception error messages
so that the full backtrace doesn't show. I think the error messages are
mostly useful and showing just a message is much kinder to the end-user
than revealing a backtrace.

Heavily based on @dcarley's work in alphagov/vcloud-edge_gateway@0d8169c
and alphagov/vcloud-walker@527ccda. Part of his original commit message
follows below:

* * *

The primary purpose of this is to move the untested logic that's in the
executable file into a normal class and give it test coverage.

This happens to be a good reason to remove methadone, which collectively
we've not grown very fond of. Whilst it definitely results in less
boilerplate code than using OptionParser directly, it's a lot harder to
understand what's going on, e.g.

- Where does that options hash come from?
- Why don't `arg()` names match the block arguments on `main()`?

Whereas OptionParser makes it clear where we've defined those and that
usage strings don't necessarily match variable assignments for remaining
arguments.

The tipping point was figuring out how we'd test what it is or isn't
doing. Not the basic CLI interface, using cucumber - but what methods it
will call underneath.

I've stolen this pattern from rodjek/puppet-lint which was the
best/simplest example I could find. The binary just passes over `ARGV`
which is an array of CLI argument strings. We can then interface this
with rspec and stub out the parts underneath for testing.
Rename org_config_file to config_file

Rename `org_config_file` to the simpler `config_file`; there is only one
configuration file.