Dirty tracking pluggable

PR consists of two changesets:

1. Breakdown of ActiveResource::Base class into modules in the way it is done in ActiveRecord to be able to jack adapters on top of specific modules.
2. Dirty tracking module with optional serialization of only changed attributes for update requests