Revert tree state to 2285a80bbce1e919ac6398d7

This commit reverts everything from the head back to (but not
including) 2285a80bbce1e919ac6398d7adace41a2ac694a9.

I intend to follow this commit with cherry-picks of bugfixes and
optimizations from master (which received a merge from titan03 prior
to this commit).
Reapply bugfix/optimization changes

This commit is a combined cherry-pick of all stable-branch-worthy
commits on titan03 since May 14 (that is, after the commit
2285a80bbce1e919ac6398d7adace41a2ac694a9).  Commits introducing new
features or major refactorings are not included in here.  Here are the
commit hashes cherry-picked as part of this commit:

 fa5c1bffdf26f12b6f9c5330ea445c2d30b8a801
 1bea1e5a9d3de1b8eb128dd05c237b4a1d01201a
 b68ff656a16d69f315eea8bc3d7cbcf960598e74
 37b84fb6425485bd5f2ab0396885a9a9d616e47c
 162f942f4839b451fac706a2b0fa49f2eaf5ae77
 48c680b16582318630c56716b0ffc629177841db
 9257e39edf4132626b474629c6e3280e316dbeda
 e840704ae8e726f825a0aea09208d6ed7a3270fa
Adding new .gitignore pattern

This pattern omits pom.xml.versionBackup files created by the Maven
"versions:update-child-modules" goal.  The following page has more
information about this goal:

http://mojo.codehaus.org/versions-maven-plugin/update-child-modules-mojo.html
Update version to 0.3.2-SNAPSHOT