Better error detection and handling

Due to the threaded nature of Neutron, it's possible to have multiple threads
performing operations at the same time. Handle these cases a bit better in
the plugin.

This commit allows for much better scalability and handling of launching
multiple instances at once.