SimpleRevisionServer refactor

Does several small things:

 * Moves SimpleRevisionServer into its own package.
 * Adds unit tests around SimpleRevisionServer's behavior. 
 * Uses immutable maps in a few places where we were using static initialization blocks.
 * Changes the naming of classes (`My*`) to distinguish from convention for documentation examples.