Implement repreparing an instance if it is recreated
Implement Unready()
so that instances that are recreated go through the preparation stages again.
This is handy for instances that are restarted/repaired (such as spot instances), the connection cache is effectively invalidated, but the use count remains.