Fix comment indent and style
Divide template and enclosed struct

The utility templates and functions are not necessary in Tuple struct.
Remove workaround for the compiler bug 4424
Remove unnecessary `length` member

It's automatically forwarded to expand.length through `alias this`.
Use `T.init`
Rename to areCompatibleTuples, and add small fix
Rename `app` to `w`

`w` (==`writer`) is better than `app`(==`appender`).
Use built-in tuple operations
Named-field tuple should be a subtype of unnamed-field tuple.
Remove deprecated Tuple.at member function
Improve member function `slice`

- Add @trusted attribute
- Change parameter types `uint` to `size_t`
- Limit the range of fields by template constraint