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.