Rearranged things into more sensible namespaces
Split machine class up into an IMachine interface and a StackMachine concrete implementation

Signed-off-by: Martin Evans <martindevans@gmail.com>