janitorial updates to test framework and corresponding docs

This pull request contains a lot of tidying up of existing code and documentation regarding the various test suites.  There are a few bug fixes, and test suite dependencies are now handled via bundler from the central `Gemfile` rather than hardcoded, which should fix `rcov` / `simplecov` clashes between Ruby 1.8.x/1.9.x.  The most externally visible changes are the improved docs, and the deprecation of existing `./dev *-test*` subcommands in favour of a new `./dev tests` subcommand.  These are fully documented in `doc/devguide/testing*`.