Patch mongoid/dirty#changes method

Mongoid tracking of Array field changes doesn't work as expected
in 2.x versions. Accessing the fields will mark them as dirty.
See https://github.com/mongoid/mongoid/issues/2311 for details.
Fix flawed dirty changes on Array fields
Clean up how mongoid patch dependencies are required
Only make attribute_change call once
Remove custom Array field change tracking
Merge pull request #109 from alphagov/patch_dirty_mongoid

Patch how mongoid tracks Array field changes.