Add support for setting attributes with an object

Changes:
 - attributes can now be set (and unset) with an object of key value pairs
 - added tests (passing)
 - updated docs
 - incremented version number