Permit implementing captureEvent without having to link to Capture at buildtime.

This is useful for Python mode, or any other Java-compatible Processing that doesn't allow reflection on the sketch.
Fix some more javadoc in Capture.java.
Factor out code that fires the captureEvent.
incorporate pull #2271
add more error handling
bring back function that broke all the tools and modes
more error handling for startup quirks
prevent recursive call
._ paths on OS X causing trouble again (fix for #2520)
force .zip extension when archiving a sketch (fixes #2526)
Merge pull request #2527 from jdf/video2

Permit implementing captureEvent without having to link to Capture at buildtime.
add notes about capture change
write revisions file
Permit implementing movieEvent without having to link to Movie at buildtime.

This is useful for Python mode, or any other Java-compatible Processing that doesn't allow reflection on the sketch.
Merge pull request #2528 from jdf/movie

Permit implementing movieEvent without having to link to Movie at buildtime.
additional video changes for Python Mode
Reference update for 2.2.1
Permit implementing serialEvet and serialAvailable without having to link to Serial at buildtime.

This is useful for Python mode, or any other Java-compatible Processing that doesn't allow reflection on the sketch.
Merge pull request #2529 from jdf/serial

Permit implementing serialEvent and serialAvailable without having to link to Serial at buildtime.
modify revisions and incorporate additional Python changes