Prototype System class.

@moorepants, can add your tests to this branch? From this point I'll write code in a test-driven way. It'd be fun to continue to work on this together, but I'm also happy to do the coding and you can review afterwards (if you're busy, etc.).

- [ ] Edit Scene so that it takes in a System.
- [ ] Make KanesMethod and LagrangesMethod derive from a single abstract base class (ABC), perhaps MechanicsMethod. This ABC will be required to provide certain attributes.
- [ ] Document in Sphinx, README, etc.
Oh. Reading further on in the code I can see these are `dynamicsymbols`, not `symbols`. Perhaps a better name for these parameters? `fixed_dynsyms`? I think a dictionary for specifying these would be cleaner as well, as they are relational (can't have one iterable longer than the other). If a user has iterables, could just run `dict(zip(*))` to make the dict, and then pass it to the method themselves.