Try harder to cleanup after a failed wiredtiger_open call.

With the current code we can start the eviction server during an open call, run into an error and not stop the eviction server when exiting.

This leads to badness, since we do free the session and connection objects and the eviction server crashes.

References issue #427