Finalized CostUnit Interface

Renamed to CostUnit to match TimeUnit (there was an API conflict with Time, so TimeUnit). Closed for modification.  Ask me if you want to go over the units logic again.