Propagate errors and log

- Errors occuring halfway through executing chains with no handling
  are passed up through to target and batch level to be returned in the
  final callback
- Error events are emitted at all levels to give visibility to loggers
Merge pull request #8 from actionshrimp/master

Propagate errors and log
Fix a couple of errors found while doing a test run
Also emit errors for remote targets
Merge pull request #9 from actionshrimp/master

Remote target error reporting updates
Rework remote targets (using ssh2) and logging

- Tidy up logging so it reads sensibly based on testing, and remove
  duplicate logging events
- Tidy up remotecontrol.js wrapper around ssh2 based on new
  understanding of the behavior of the library and be a bit more
  defensive.
- createChain and uploadFile are no longer passed from remotecontrol to
  remotetarget via callback as remotetarget wasnt using them.
Change console.log to self.log for consistency
Merge pull request #12 from actionshrimp/ssh2-error-handling

Rework remote targets (using ssh2) and logging