add .gitignore
Massive refactoring; almost totally restructured packaging.
Much better by-package organization now; moved anything that may be used by extending plugins under the .api package hierarchy.
A lot of Javadoc work.