make stack_delete_after decorator tolerate deleted stacks

Make the stack_delete_after decorator try/except so it doesn't cause a
test failure if the test has already done a delete during the test

Change-Id: I4a5e096478ece0de02cc910366a5d361d5ee45e0
heat engine : Only create periodic task on CREATE_COMPLETE

Only create the stack periodic watcher task if the stack create
completed successfully, since we don't want a watcher task if
the stack ended up rolling back (or just in CREATE_FAILED state)

Change-Id: I5592fa106f740eb2e1dcf40e98a2656627715b6f
heat engine : Implement rollback for stack create

Implement stack rollback for create_stack, so if a stack
creation fails we automatically rollback (ie delete) the
stack

NOTE : this option defaults to on, so use the --disable-rollback
option to the CLI tools if you want to disable this feature

blueprint stack-rollback

Change-Id: I70a3822426706d0787e571517e059baff1406c0f