added basic support for private messages

also:
- common getWindowByPath code used by the browser and the server
- fixed the processing of channel modes (had dead code causing a crash)
- state change functions now support return values
- parseOrigin and parseTarget now return instances
- ditched the "data." prefixes from data.TypeName everywhere
- support for incoming and outgoing /me events in queries