Added type compatibility between ResultName and PartialSubQueryResultNameProvider

It makes enable following

```scala
object Customer extends SQLSyntaxSupport[Customer] {
  override val tableName = "customers"
  override val forceUpperCase = true

  def apply(c: ResultName[Customer])(rs: WrappedResultSet): Customer = {
    Customer(rs.int(c.id), rs.string(c.name))
  }
}
case class Customer(id: Int, name: String, groupId: Option[Int] = None, group: Option[CustomerGroup] = None, orders: Seq[Order] = Nil)

val c = Customer.syntax("c")
val sq = SubQuery.syntax("sq", c.resultName)

val rs: WrapedResultSet = ...

Customer(sq(c).resultName)(rs)
```

Before, `sq(c).resultName` is **not** `ResultName[Customer]`.
So, that was compile error.