clarified VehicleInterface API

There was no clear correlation between the attributes on vehicle and the data type interfaces.  This update
clarifies how the process of getting and setting vehicle data works.  Attributes on Vehicle are just
interfaces to get/set the data. they correlate with the data type but are not data themselves.

This update also adds the missing VehicleInterfaceError interface.