Bug fix: Correctly relabel selects of implicit joins in relabelUnions.

Fixes issue #56. Test case: UnionTest.testUnionOfJoins
(cherry picked from commit 21bef4c90f1382dfbcb0ef00a74d2a056065287a)
Fix lifting of aggregation functions which reference other generators.

Also use only new-style aggregations in the test cases. The old-style
aggregations will be removed (on master) and deprecated (on 1.0) in
separate commits.

Fixes issue #61.
(cherry picked from commit df40f1d7c135df3040930cad13cefaabaca67e00)

Conflicts:

	slick-testkit/src/main/scala/com/typesafe/slick/testkit/tests/OldTest.scala
	src/main/scala/scala/slick/compiler/Relational.scala
	src/main/scala/scala/slick/lifted/Query.scala
Deprecate old-style aggregation methods.

References issue #60.
Allow fusion if the inner Comprehension is a Union wrapper.

Tested by the change in UnionTest.testBasic. This fails on SQL Server
due to incorrect sorting of query results if the comprehensions cannot
be fused.
(cherry picked from commit bec5613bcc9d2da4c8db201cf5123209bfc6dbfa)
fixed direct embedding with singletons
Fix typing of Comprehension nodes & assign types after relational phases.

Making use of type information in the query compiler and keeping it
updated along the way will have to wait for now. Type-checking at the
end should at least give us correct SQL types for all scalar expressions.
Use the shiny new type information in the query AST for better casts.

Knowing the type of the expression to be cast allows us to support
number-to-varchar casts on Derby and integer-to-varchar casts on Access.

Test in MiscTest.testCast.
! and != support for direct embedding
direct embedding: added drop and take
refactored QueryableTest
Deprecate some Column methods for Option handling.

We should use the same methods on Rep[Option[T]] as Scala has on
Option[T].
Merge branch '1.0'

Conflicts:
	slick-testkit/src/main/scala/com/typesafe/slick/testkit/tests/OldTest.scala
	src/main/scala/scala/slick/ast/Util.scala
	src/main/scala/scala/slick/compiler/Relational.scala
	src/main/scala/scala/slick/lifted/ColumnBase.scala
	src/main/scala/scala/slick/lifted/ExtensionMethods.scala
	src/main/scala/scala/slick/lifted/Query.scala
Fix date types support on SQL Server.

- Add tests for various operations on DATE, TIME and DATETIME.
- Add test configuration for SQL Server via SQLJDBC.
- Change cast syntax in SQLServerDriver for DATE/TIME/DATETIME literals
  to use native SQL Server casts instead of ODBC casts because the
  latter has problems with non-ODBC type names when using SQLJDBC instead
  of jTDS.
- Use workaround for reading TIME values from SQL Server. jTDS returns
  them as Strings so we need to do our own parsing into Times.

Closes issue #70
Merge branch '1.0'

Conflicts:
	slick-testkit/src/main/scala/com/typesafe/slick/testkit/tests/DataTypeTest.scala
	slick-testkit/src/test/scala/scala/slick/testutil/TestDBs.scala
	src/main/scala/scala/slick/driver/SQLServerDriver.scala
Merge branch 'master' of git@github.com:slick/slick.git
Merge branch '1.0' of git@github.com:slick/slick.git into 1.0
Fix import to use scala.slick instead of slick
Introduce ~: method (aka preprend) to Projection2-21. Fixes issue #75.
Merge remote-tracking branch 'slick/1.0' into master

Conflicts:
	build.sbt
	src/main/scala/scala/slick/direct/SlickBackend.scala
Merge branch '1.0'

Conflicts:
	src/main/scala/scala/slick/lifted/Projection.fm