Improve reliability of Operation
Improve reliability of Operation

Change isReady to not produce side effects when called. switch locks to queues. isReady is no longer effected by canceledState. An operation can skip evaluatingConditions now if the operation has no conditions. Removed start() as it's functionality happens in main anyway.

pluralsight/PSOperations,pluralsight/PSOperations