changed Resource.get_resource_attributes() to be a static method

It doesn't depend on any of the instance data, and it will be
needed without an instance.
add writable properties in ProviderData to writable_attrs
CollectionResource.create: correctly sanitize subresources

Some resources (currently, only CustomData) *don't* camel-case
their attributes, so we can't just guess how to sanitize the
dict.

To be sure we sanitize the subresource attributes correctly,
we're first instantiating it from the provided dict.
improve tests for provided-related functionality
add tests dealing with proper subresource sanitization
pep8 fix
Merge pull request #53 from senko/subresource-creation

Subresource creation