spec: don't reuse DatabaseServer ids across tests

fixes sporadic failures (such as rspec seeds 41875 and 54651). since
@shard_connection_pools isn't cleared from one spec to the next, and
ids were being reused, you could get a stale/wrong connection pool for a
brand new DatabaseServer

Change-Id: I4be8cf48d46cfc0cb4326af6b4f77ecc8579866d
Reviewed-on: https://gerrit.instructure.com/37312
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
support transactions around (groups of) specs

basically a port of once-ler's transaction/fixture overrides, for non-
default shards.

change the begin/rollback behavior of test shards in rails 3 to support
savepoints (e.g. if you have a transaction around a whole bunch 'o specs).
this makes the behavior for non-default shards match that of rails 4
(since in rails 4, begin_transaction/rollback_transaction will handle
savepoints).

note that if you want your *default* shard to support transactions around
your specs in rails 3, that's outside of switchman's purview; you'll need
to monkey-patch rails' fixtures.rb (or use something like once-ler that
does it for you)

Change-Id: Iad05c2b829488bbe0be4854f5af4618fa5855f09
Reviewed-on: https://gerrit.instructure.com/37313
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
make shard scope around saves implicit

prevents problems with explicit shard source value
in save callbacks

fixes #CNVS-13883

Change-Id: I5ca53a7391f5f0ba49f3b0b653cab2c8f4659503
Reviewed-on: https://gerrit.instructure.com/37282
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
fix debugging on ruby 2

Change-Id: I61e4727e2c421fae19f20e84c1766bf227a3e49f
bump version

Change-Id: I29226af744d0baf58fc88cb229c60ef861b74505