Added python 3 fixes and makeflow fixes.

* Bytes passed in python 3 are now properly converted to ascii.
* Unicode strings are now sent using the zmq library.
* Jobs will not include there commands to be sent with makeflow.
  - This enforces that the correct commands are installed at the
    specified path.
* Makeflow should not report running until a makeflow log exists.
Fixed errors in gene order and bug in makeflow generation.

* Changed try-except to with block and removed fp being closed in finally block.
* Fixed writing to file in gene-order
* Fixed the non-genomic case
* Fixed creation of genomic_ordering data structure.
* Other minor fixes were done to fix crashes.
Updated to use new workflow format.
Makeflow file now maps local and remote names.
Merge pull request #1 from LyonsLab/evan-dev

Evan dev
Refactored the code to use new service manager.

* Added a simple service manager.
* Added an abstract WorkflowService
* Implemented a MakeflowService.
* Refactored Makeflow to not generate shell scripts.
* Other minor improvements.
Removed scheduler import which has yet to be checked in.
Added attribute checking to  __enter__ method.

The __enter__ method will check if the file
object exists and returns either the object
or None.
Fixed code to support python 3.

In python 3 itervalues() has been removed
from dictionaries with values().
Added support for makeflow_format option.

Arguments will be shorten to a basename when the
makeflow_format is set to 1.
Makeflows now generate a logfile.

A makeflow will generate messages into
the logfile when the workflow has started
and completed.
Updated workflow queuing and added persistence.

* A workflow is now persisted to file.
* Previously run workflows are fetched from file.
* A duplicate workflow will not be added to the queue.
* A duplicate workflow will attach to the currently
  running workflow.
Removed sleep from main loop.

* The recv already blocks meaning the sleep was not needed.
Added new internal service for status codes.

* The Service base class now has a initialize method.
* The Status code service allows easy access to status
  codes and status message. This can be achieved by
  calling service.STATUS to access the code or
  service.STATUS_MESSAGE to access the status message.
Refactored code to use status codes.

* Added MakeflowLog for better handling of makeflow logs.
* Makeflow logs can now be parsed into a graph structure
  for further analysis.
* MakeflowLog class is now used to check the status of a
  current makeflow.
* Workflow scheduling now returns a status message.
* Workflow persistence has been disabled.
* A job can now be overwritten.
* When a workflow fails to be generated it now returns None
* A Makeflow log is checked before running a makeflow.
* Cleaned up code for using new StatusService.
ff-only
Added more logging and changed makeflow arguments.
Workflows that die will now be restarted.
Removed a previous change left.
Updated makeflow options.