Create a new RelationalProfile for relational non-SQL data stores.

- Moving parts of JdbcTableComponent up into RelationalTableComponent.
- Moving many capabilities from SqlProfile up into RelationalProfile.

An initial version of the (yet to be written) HeapDriver should support
most relational features but it won't understand SQL or any other
text-based query language. Having a useful profile at that level should
allow us to write many TestKit tests in a way that makes them work with
HeapDriver.
TestKit refactoring to support non-JdbcDriver tests.

Now tests can depend on any supported profile and will only be run for
drivers that support the test's profile.

We need to upgrade to Scala 2.10.1-RC1 because of SI-6677.
Move QueryTemplate functionality up into BasicProfile.

BasicProfile now defines abstract types for parameterized and applied
queries that are pre-compiled by the driver, along with a standard
implementation.

Actually executing these queries is done through new implicit conversions
to QueryInvoker and QueryExecutor. This change makes the execution of
plain queries and parameterized queries symmetrical and allows the latter
to be defined in a profile- and driver-independent way.