Abstract Machines: Turing and Beyond