protocol.js -> weechat-protocol.js

This makes it more clear that this script's code parses the WeeChat
protocol specifically.
weechat-protocol.js: clean code (indentation/trailing spaces)
weechat-protocol.js: refactor with prototype
weechat-protocol.js: uiatos -> uia2s
weechat-protocol.js: prepend _ to private methods names
weechat-protocol.js: put similar methods nearby
weechat-protocol.js: uniformize code
weechat-protocol.js: use pointer instead of slicing

I don't know if this changes anything to performance, but my instinct
tells me that it's better to update a pointer within a big array to get
slices than creating a new slice each time.

Perhaps the JS engine is clever enough to not create a copy each time
and only update its internal references of the array bounds, but just
in case...
weechat-protocol.js: clean _uia2s()
weechat-protocol.js: move getSlice()
weechat-protocol.js: add time parsing and factor "number as string" code
weechat-protocol.js: implement hash table parsing
Merge pull request #12 from eepp/improve-protocol

Improve protocol