log_level can be a string or an int
Set log_level in op2.init, not when creating Configuration
Refactor configuration: Only create single instance

Instead of initialising op2.configuration to None and then setting it
to a Configuration object when op2.init is first called, set
base.configuration to the default configuration at import time and
then reconfigure when op2.init is called.

This means op2.configuration always points to the same object and
thereby issues with importing a configuration object from op2, which
is later re-assigned are avoided.
Introduce exception type ConfigurationError
Check configuration values for valid type
Merge pull request #265 from OP2/more-configuration-fixes

Only ever create a single instance of the configuration object.  This
means we don't run into problems where op2.configuration points to
something other than base.configuration.