Changed structure of AmberbitConfig module.

Extracted key object - Config. It gets two paths, to the
default options and custom/private options.

Also moved creation of deep hash struct, to the hash struct object.
Added additional specs and fixtures to check edge cases