Better attribute support

Can now do things like:

attributes.class << 'foo'
attributes.class.ensure('bar')
attributes.class.any_array_method(…)