Better modularity, more testing

Good day Todd,

Great work so far. I decided to contribute a bit. I probably broke a few things but I hope I fixed more things overall.

Here is what I did... 

1. I split up the code into more files. This is just to make things more manageable.

2. I decided to start testing carefully what I call the set operations over sorted lists.

I am trying to make things more Goish too. For example, Java has arrays that have fixed lengths. Go has native slices... this means that the "cardinality" variable in arraycontainers is not needed in Go. What we should do is just resize the arrays, leaving its capacity fixed. I did not do this work but it is next on the agenda.


Once we have settled on a nice organization and we have nice unit tests, maybe you could give me direct access to the repository (as a collaborator) so that we do not go through pull requests each time? (For now, it is fine.)