Added external system commands support for events

Print start, print end, print cancel, and Z  height change can now
trigger external system commands.  These are set in config.yaml and take
_FILE_, _PERCENT_, _LINES_ and _ZHEIGHT_  tokens to be passed to
external commands.

system_commands:
  cancelled: echo cancelled _FILE_ at _PROGRESS_
percent done.
  print_done: echo done with _FILE_
  print_started: echo
starting _FILE_
  z_change: echo _LINE_ _PROGRESS_ _ZHEIGHT_
Revert "Added external system commands support for events"

This reverts commit 3b66f63ff2d586898bb69e19d69ad08bf2991f88.
External commands on events

These changes address issues 87 and 22 by adding the ability to trigger
external commands on print start, done, cancel and z-height change.
Update README.md
Update README.md
Merge remote-tracking branch 'upstream/master' into devel
A very simple API endpoint for loading and printing files direct. This is by default turned off and it "allowed" via the settings

From within Slic3r adding a post-processing script .bat containing

c:\curl\curl "http://192.168.0.7:5000/api/load?apikey=D96FA6A216CB44F78705D4506689D0EC&print=true" -F file=@%*
simple change so the url loads from http or https whichever is in use
Forgot to simplify the success after testing
Event Manager

Added event manager to trigger system and gcode commands.
Update README.md

Back out previous changes
Merge branch 'norpchen-master' into events

Conflicts:
	octoprint/server.py
	octoprint/settings.py
Started refactoring to match coding style and simplify things a bit.
Bug Fixes for Event Manager
redundant start event trigger removed
Merge branch 'norpchen-master' into events

Conflicts:
	octoprint/printer.py
Refactoring of event management
Updated documentation of events
Fixed jobData key
Merge branch 'sdcard' into events

Conflicts:
	octoprint/printer.py
	octoprint/server.py
	octoprint/util/comm.py