buffer: add 24-bit operators for buffer module

Some of APIs of `Buffer` what I added listed below:

* `buf.readUIntLE(offset, byteLength, noAssert)`

* `buf.readUIntBE(offset, byteLength, noAssert)`

* `buf.readIntLE(offset, byteLength, noAssert)`

* `buf.readIntBE(offset, byteLength, noAssert)`

* `buf.writeUIntLE(value, offset, byteLength, noAssert)`

* `buf.writeUIntBE(value, offset, byteLength, noAssert)`

* `buf.writeIntLE(value, offset, byteLength, noAssert)`

* `buf.writeIntBE(value, offset, byteLength, noAssert)`

See: http://tools.ietf.org/html/rfc5246#section-7.4
In this spec or other protocols, `uint24` type is often used then these API would simplify related protocols implementation.


You're still writing to the buffer before running this check. Meaning the buffer will be manipulated before it may throw. The check needs to be moved to just after the `value` and `offset` are coerced. Same in `writeIntBE()`.