Implement additional error handling in utils.import_object function
Merge remote-tracking branch 'upstream/master' into import-object
import_object will raise standard ImportError even in case of Value/Attribute error
Break reference cycle between WebSocketHandler and WebSocketProtocol on close.

This isn't strictly necessary, but it allows the refcounting CPython GC
to clean things up without waiting for a full GC.

Closes #382.
Break up a reference cycle with RequestHandler.ui when handler exits cleanly.

This is not strictly necessary, but allows for CPython's refcounting
GC to reclaim the handler sooner than waiting for a full GC.

Closes #383.
Merge remote-tracking branch 'kachayev/import-object'
Fix the import_object ImportError on Python 3.

Python 3 also changed exception messages slightly so remove one case
from the doctest.