add revert to snapshot
some functions don't require gil
interface for waiting on a program
use destructor instead of deallocator
Merge remote-tracking branch 'origin/master'

Conflicts:
	cyvix.pyx