This caused a bug whereby a chat box would open only on chat state
notifications.
Also refactored the chats.open and chats.get methods so that they now reuse the
same map function and so that chats.get can now return any chat box and not
just already open ones.
Updated the tests to properly test this and updated the docs.
* Let contacts.get() return all roster contacts.
* Also, add "open" method for the chats API.
* chats.get will now only return a chat box if it's already open.