PORT-111 Aggregate type encoding helpers

- Renamed TypeImplementation to BasicTypeImpl to save confusion with the new
  AggregateTypeImpl class
- Encoding helper implementations written for all aggregate types except for
  HLAvariantRecord