Issue #8: Basic Guava Integration

Using Guava to clarify the code and reduce custom code in a few different places, but mostly (for now) working with collections and using their `SetMutlimap` implementation.  This is designed to address Issue #8.