Some early work on importer refactoring
Merge branch 'develop' into importer-refactoring

# By Jason von Nieda (7) and others
# Via Jason von Nieda (1) and vonnieda (1)
* develop:
  Update README.md
  Feeder vision is finally fixed!
  Vision all working, just need to apply offsets.
  Almost working
  Merged Richard's and Ami's change with a little bit of cleanup, fixing issue #24.
  tape feeder with vision
  maybe this will work. :)
  Fixed a bug during startup of SprinterDriver. Added a little bit of extra info to the command debugging to make it easier to understand.
  Updated to new driver model.
  Bringing the SprinterDriver back to life
Merge branch 'develop' into importer-refactoring-merge-develop

* develop: (35 commits)
  Documentation updates.
  Got rid of the janky line breaker for error messages and switched to HTML with a fixed width. Looks much better. Added a more informative message for when configuration can’t be loaded.
  Minor cleanup stuff.
  Fixes an offset bug in ReferenceTrayFeeder. Thanks rspelling!
  Minor merge conflicts.
  Added more functionality to the test suite.
  Fixes a few leftover bugs in the GrblDriver.
  Merges Johannes’ change which allows the user to position the camera by clicking the mouse. Merge is made with some modifications: Shift is used instead of Ctrl as Ctrl is the popup modifier on Mac and Windows. Move is made at Safe-Z. Move is made using MachinePanel job queue. Reverses the change of adding the offsets to the Camera, as this would break a great number of things.
  ctrl-click in the camera image to move the head
  Added a basic framework for functional testing and one sample test. Needs work, but very useful already.
  Adds .settings to ignore. Adds a sample unit test in preparation for real unit tests. Updates JUnit version. Fixes a bug in NullDriver that allows functions to run while driver is disabled.
  Cleaned up formatting
  Moved camera offsets to new ReferenceCameraConfigurationWizard and updated existing wizards to use it instead of abstract. Also took the opportunity to refactor the two remaining wizards that were not using the abstract model.
  Reworks Zippy vision stuff a bit to not interfere with base OpenPnP vision. This can be refactored further to remove duplicate code, but it gets the job done for both systems now.
  Refactored JobProcessor so that it can be loaded from the config instead of hard coded. Created a new JobProcessor interface and moved the old code to ReferenceJobProcessor. Made ReferenceJobProcessor implement JobProcessor. Added config requirements for JobProcessor. Updated default config for JobProcessor.
  Removed temporary and extraneous files.
  Initial checkin of the CONTRIBUTING doc.
  essentially working, needs a couple tweeks
  nozzletip calibration working
  nozzletip changing working
  ...

Conflicts:
	gui/src/main/java/org/openpnp/gui/JobPanel.java
	gui/src/main/java/org/openpnp/gui/MainFrame.java
Finished up the importer refactoring.