Add an unlimited string length for server chat packet
0x03: server chat packet test fixed
Release 0.11.4
New way to handle conditional fields in packets

Some packets have conditional fields. The previous way to handle
those was to provide a single condition for each packet type
which determined if additional fields are appended to the packet.
Unfortunately this is not enough for some packets: They have
complex conditions that cannot be expressed this way.

This diff changes the way conditional fields are handled: For
each field in each packet there is a new optional 'condition'
function which will be called with the packet data. Only if
the 'condition' function returns true, the field is de/encoded.

This diff also adds new (previously missing) conditions.
set unavailable fields to null
Merge pull request #62 from dividuum/master

New way to handle conditional fields in packets
Release 0.11.5
Updated protocol version to support 1.6.4
Cleanup: terminate all statements with semicolons, remove unnecessary semicolons, remove unused variables, add hasOwnProperty checks in 'for x in y' loops.
Merge pull request #68 from Darthfett/master

Cleanup code
Reduced benchmark execution time
Protocol 1.7 support, Yggdrasil login support, new Client State API
Add new chat client example
Merge pull request #69 from roblabla/feature-mc1.7

Feature mc1.7
Merge branch 'master' into feature-purejsrsa-forge