Fixed assignment for Hash attributes.
This is a sampling of code meant to demonstrate collections for attrio.
This code is not tested yet.

Readme changes are examples of using Collections.
attributes_parser had collection, create_collections, and
fetch_container_type methods added.
collection is a class parallel to Attribute for use with collections.
Refactored the reader method/visibility methods out of Attrio::Attribute.

I used Attrio::AttributeBase as the module name for the shared methods,
but I'm not happy with that name and when I come up with a better name,
I'll rename it.

I left the writer methods in Attrio::Attribute since only Attribute is
going to use those methods.  Factoring those into another module is
something to keep in mind.
First pass at Attrio::Collection classes: Array, Set, and Hash.

I used the DelgateClass as the basis for inheritence because it offers
an easy way to wrap and extend classes while delgating all other calls
to the original class.

Specs are very simple, just testing creation and that they are acting a
little like their delgate.
Renamed AttributeBase to Readable
Attrio::COllections Array, Hash, and Set to use Readable and Collectable modules

moved attr_reader into Readable module.

removed InstanceMethods module from Readable

decided not to define initialize in a module.  This could be
readdressed.  If so, then the common initialize method needs to call a
class specific method for additional initialization.

moved Collection autoload block to the bottom of Attrio
Removing a mistyped line
Added a spec for Readable, small bug fix and formatting changes

fixed a bug in hash#initialize
Refactor after realization the Array, Hash, and Set being setup wrong

Earlier I was working thinking that Array.Hash.Set were being used as a
parallel to Attribute, when actually those should be used as the
instance values of a collection, and that we needed Collection as a
class to be parallel to Attribute.

With that new understanding, I changed Collectable back to Collection,
and have been building that class up to do it's job.  Followed the lead
of Attribute and so have no specs yet, though there isn't anything very
complicated in that class.

Hash is the first of the collections that I've started to flesh out. the
type_cast method shoul be factored out into a Collections::Base class
which we can also use to set the interface with the always popular
NotImplementedError.  The key_method works well for providing a unique
value to use for the key of the hash.

There seems to be a use case for some functionality around attempting to
add_elements.  Both in raising errors when a key is used again
(redefining a value) and when a value can't be coerced into the correct
type.

If i wanted to add the ability to ignore values that can't be cast, I'd
put in a ignore_type_error option check and add in a catch clause to
catch TypeErrors then continue instead of reraiseing.

If I wanted to add the ability to raise errors when reusing a key, I'd
add a raise_on_duplicate option, and put in a check on the key value
before the new value is assigned.

There are a few gotcha's with the way DelegateClass works, and so I have
kind_of? overridden, but I'm not sure that's needed.  I'm sure when I
implement Array and Set it'll become clear what needs to be done.

While all specs are passing, this commit is not complete by itself.
renamed collection directory to collections to match module name
Refactor added Attrio::Collections::Common changed collections to use it
Forgot to add specs to last changeset
Implemented has_element? and find_element for Array, Hash, and Set

There is the potential for adding more advanced find methods.  Don't
think they are needed, but they are there.

for a collection the default value is going to be the return value of
find_element when no element was actually found.  Users can use this to
provide useful defaults such as an appropriate Null class.

Should we provide an :initial_values options to populate the initial
collection?

Next up is to finish the CollectionBuilder and Collection and then to
test integration
Refactored Collections to use .create_collection factory method

Changed Collections to use SimpleDelegator instead of ClassDelegator
updated specs to use .create_collection
Merge branch 'collection_proposal' of github.com:anithri/attrio into collection_proposal