added insert statement to check port dimensions
added new units
added unit_dimensions property to component class to provide list of
dimensions that are required to include with the component class
added hash functions to dimensions and units
"protect" against setting of unit and dimension attributes by wrapping
in properties
added unitless dimension and replaced units=None arguments with it for
Quantities
added 'standardize_unit_dimensions' function to assist writing component
classes to file along with their dimensions
added code to standardize units (consolidate them to avoid naming
conflicts) before writing to file
dimensions are written along with component class file
fixed inheritance of attributes_with_dimension
omit writing dimension attribute if it is dimensionless
skip writing dimensionless for state variables
added standardization of units before writing to file
added IonDynamicsType (sorry shouldn't really be part of this PR)
added iondynamicstype to package imports
debugged standardize_units
fixed up user_layer.component.write so that it has a NineML root element
in Unit.to_xml() offset needed to be converted to a str
added milliamps to predefined units
renamed unit dimensions to used dimensions in component and component
classes