Allow '$root'  as valid container name 

Azure Blob Storage allows us to create and manipulate the [root container](http://msdn.microsoft.com/en-us/library/windowsazure/ee395424.aspx).  This is can be very handy. 

Currently WAZ::Blob has no problem finding and querying the root container (addressed with the name `$root`) however it errs on `Container.create` as the validation helper doesn't permit special characters

To accommodate this, I split the `valid_name` helper into `valid_container_name` and `valid_queue_name`  and update all references.  The previous rules still hold with the one exception for containers called `$root`.

Tests to validate this are included