Add a slew of tests for List class

So this goes hand in hand with your question about setCount() throwing. Basically, List is an abstraction layer over JS array. The try/catch is to handle these situations (floats, negatives). I think any good abstraction layer for a data structure would handle these types of situations. Yes, they're edge cases (who wouldn't know that length of a List had to be a non-negative int), but weird things happen and why not account for it?