debugging/adding equality checks for user_layer objects and component
classes
minor debugging
converted BaseComponentClass parameters to a dictionary under-the-hood
to facilitate equality checking (and ease of retrieval)
Created BaseALObject (similar to user layer), mainly to define equality
checking but I have also found it useful for the user_layer and I think
it is nice to keep them consistent
added "defining_attributes" member to all AL classes that derive from
BaseALObject
debugging equality checking/reading/writing from file
removed autogeneration of anonymous Regime names (I think they can be
None and it screws up my round-trip unit-test)
implemented and debugged user layer round-trip unit-tests
debugging unit-test fails
enclosed references to analog_ports in lists as it is now an iterator
(will this cause problems elsewhere?)
debugged all unit tests (there were some failures arising from the
refactoring of some members to dictionaries from lists)