Add overload to allow single-argument HList.apply

`HList`'s apply method depends on autotupling to work, but autotupling is not performed when you only pass a single argument. Although it is quite possible to work around this (e.g. `3 :: HNil` or `HList(new Tuple1(3))` instead of `HList(3)`), it's rather annoying to have to do so.