Fix some bugs in comprehension fusion.

- Inline single-row generators of shape Pure(StructNode(_)) into the
  projections of Bind nodes in convertToComprehensions. If we rely on
  doing it in fuseComprehensions it may be too late: If that generator
  returns an aggregate, it will have already been lifted into the parent
  comprehension, making the single-row character unrecognizable.

- Assign correct types to lifted aggregates and inlined aggregates. For
  treating sub-queries as scalar values we use a new SilentCast operator
  which does not cause an actual SQL cast to be generated.

Fixes issue #753. Test in CountTest.testJoinCount.
Merge pull request #787 from slick/tmp/issue-753

Fix some bugs in comprehension fusion.
Merge branch 'refs/heads/2.0-no-bin-compat' into tmp/2.0-no-bin-compat-to-master-2

Conflicts:
	src/main/scala/scala/slick/driver/JdbcStatementBuilderComponent.scala
Merge pull request #805 from slick/tmp/2.0-no-bin-compat-to-master-2

Update master with latest 2.0 changes