Fix some build errors;
move enum ReponseMimeType to a different enclosing class;
make UnmodifiableArrayList more like Guava's ImmutableList.