Removed 'require "psych"' in OrderedHash

This cause undefined symbols explosions on the current MRI.
Client: Reverted how we initialize 'current_driver' and 'current_provider'

The current syntax in initializer cause unit tests explosions.
We should really first initialize the @request_driver to what user supplied
as :driver or :provider and only if these options are not provided
fallback to 'current_driver/current_provider' which are parsed from the API
entrypoint XML.
Core: Refactor how we load the driver source file (DTACLOUD-540)

The current way how we load the driver using #driver helper
will exit silently (with nil) if 'NameError' is raised while
the *Driver#new.

For example, if you require MockDriver but you don't require the
mock_initialize.rb file, you get 'NameError' exception for not existing
MOCK_STORAGE constant.
Core: Allow to pass :mock_initialize option when requiring frontend

If you have Deltacloud::API as a middleware, the recent switch to
using initializers will broke your code, because the Mock driver
needs to be initialized first.

This option will make sure the 'mock_initialize' file is properly
required.
Core: Prevent including Deltacloud module in global namespace

This include cause global namespace conflicts with Rails
modules and potentially with anything that share the same name
as Deltacloud models.
Core: Added namespace to model classes where missing

Since we don't pollute the global Ruby namespace anymore,
instead of 'Instance' we need to use 'Deltacloud::Instance'.

This patch fixes this behavior in various places in code.