Make .touch timing spec work in all time zones, on all DB setups

These two specs were failing for me (in GMT-0500) as follows:

```
  1) Octopus::Model AR basic methods touch updates updated_at by default
     Failure/Error: @user.reload.updated_at.to_date.should eq(Date.today)

       expected: Tue, 11 Feb 2014
            got: Wed, 12 Feb 2014

       (compared using ==)

       Diff:
       @@ -1,2 +1,2 @@
       -Tue, 11 Feb 2014
       +Wed, 12 Feb 2014

     # ./spec/octopus/model_spec.rb:364:in `block (4 levels) in <top (required)>'
```
Remove class-only and instance-only methods from Octopus::Model::SharedMethods
Move current_shard tracking into a reusable module
Apply Octopus::ShardTracking to ActiveRecord::Relation