Basic population structure done, with an implementation of a square lattice, for the original Axelrod model.

Different population structures are pluggable given subclasses, using NetworkX as the graph library.  Axelrod model rules can use a limited but simple API to get neighbors, focal agents, and update trait lists.

Next step is to implement the original Axelrod rules, and then implement observation of the cultural region sizes as observables.  And a main loop, of course.
Original axelrod dynamics implemented, along with the model keeping track of the number of total interactions, and the time step of the last interaction (so that we can see if we're not changing anymore, and stop).  One todo:  refactor trait initialization out, so that we can reuse the graph base class with structured traits (if necessary).  Otherwise, ready for a main loop, and some stats on the quasi-stationary population.