Engine cleanups
Engine cleanups

Instead of having many of the instance local variables
be created in the __init__ method, instead create them
during the compilation stage where most of these variables
are actually used. This allows for the multi-threaded
engine to not have to setup an instance variable before the
parent constructor is called and seems cleaner in general.

Ensure that a engine that is not compiled can not be
suspended since it seems like an inappropriate action for an
engine to allow when it has not been compiled.

Change-Id: I89c4555832e833e588bc4ac6b912be0c5b886831

pombredanne/taskflow-1,citrix-openstack-build/taskflow,junneyang/taskflow,citrix-openstack-build/taskflow,junneyang/taskflow,jimbobhickville/taskflow,varunarya10/taskflow,pombredanne/taskflow-1,varunarya10/taskflow,openstack/taskflow,jimbobhickville/taskflow,openstack/taskflow