Time array

Includes the pervious PR
- support for inserting []bool
- support for inserting []time.Time
- support for decoding the above two types
- refactored some common code around encoding the array header