preserve_on_error and gitignore update

Just a couple things in gitignore and with the preserve_on_error option that I ran into as I was making some other changes.

If --preserve_on_error was not specified on the command line and the provision failed (possibly even on success), aminate would not teardown resources due to Bunch raising an AttributeError.