SimModel now uses sets instead of lists.

- Gets of some test to make sure things are unique
Model of new API is close to working

- Added a test, same as the old_api test
- That test is failing now, trying to track down why
New API tests run!

- But are all wildly wrong.
- Also added some helpful __str__ functions
  - It should now be somewhat easy to figure out
    what is going where by looking at model.o
Tests actually do something now

- Not quite perfect, but good enough for now
- Also fixed (what I think is) a bug in old_api