Using the Guava version of SetMultimap.
Lists replacement.

- Using the Lists class instead of our own custom list() method.
Using utility methods.
Header cleanup.
Immutable instead of unmodifiable.

Throughout the code we were using a pattern where we took the unmodifiable version
of a copy.   This replaces most of those instances (where it made sense) with the
guava Immutable versions.
Preconditions.

- Using preconditions instead of expect().
Move server/library sources/tests to subproject to fix issue #3.
Merge pull request #22 from dclements/guava2

Issue #8: Basic Guava Integration
Merge branch 'master' of github.com:ReadyTalk/revori

Conflicts:
	build.gradle
	server/src/main/java/com/readytalk/revori/util/SetMultimap.java
Merge pull request #24 from sgoings/master

Issue #3: Move server/library code into subproject structure
Fix build by adding in guava dependency
Merge branch 'master' of github.com:ReadyTalk/revori
Issue #32: Update .gitignore to ignore IDE-generated files.

- Ignore IDEA-related files.
- Ignore .DS_Store files (OSX folder attributes).
Merge pull request #33 from dougborg/gitignore

Issue #32: Update .gitignore to ignore IDE-generated files.