vaguely working Query mixin
Solid query API mixin, with tests

Preloads :id, and :name if available. Leaves everything else up to lazy-loading, though optionally can call a per-collection function to add more values if available
Mock vdc model tests are passing
find_by_query support for vdcs collection
Fix failing test -- Description is optional

The :Description field is optional on vApps, and if not specified it plays havoc
with lazy loading -- the attribute stays in NonLoaded state, which in turn means
the object gets reloaded unneccessarily. This fixes that behaviour by simply setting
a default, blank, description
Add Query support to Vms
Enable model vapp_tests in Mock mode
Enable Mock support for Model task tests
Add query support to tasks model, inc Mock
Fix up tasks_tests; add missing data from Mock
no mock for custom_fields
vApp get_execute_query 'get by name' mock

This allows us to test the vapp model 'get by name' mixin in Mock mode.
Fix error in assumption about TaskRecord queries

Task records as returned by the Query API have 'name' parameter
equal to the 'operation_name' parameter of the Model object (and
OperationName value of the get_task request)

This commit documents that difference in the test, and corrects
the get_execute_query Mock to mirror the behaviour.
Replace Fog::Time with Time

For some reason, our tests are now returning regular Time
objects in both Real and Mock mode.
Updating the HP connect docs

I found a few typos and it seems that there isn't a dashboard
link anymore. HP has updated to Horizon as their URLs.
Make task record translation more robust

Using Hash.fetch rather than [] means we at least get meaningful
exceptions when a key does not exist rather than a not useful NilClass
no method exception.

Might help to understand https://travis-ci.org/fog/fog/jobs/36096215 failure.
TaskRecord ObjectName is optional
Empty commit to prompt Travis run
Not specifying Owner details caused issue in Query Mock

In trying to emulate a bug in the API in Mock mode, we were not populating
required fields in the get_execute_query Mock, which were in turn intermittently
causing test failures.

Fix these two cases to return the correct value, but store the correct data in our Mock.
[AWS] Setup a fog keypair only if not supplied.

When calling bootstrap, the :key_name argument is currently ignored
and not passed to the internal _setup_bootstrap() method. This results
in fog creating a keypair and using it for the instance.

The additional parameter -- new_attributes -- is also never actually
used when calling _setup_bootstrap().

The patch removes the new_attributes parameter and uses the key_name
attribute of the passed server object to ascertain whether a default
fog keypair should be created.