fixed decoding of empty JSON arrays, e.g. "[]"

Empty arrays are currently not handled properly in the parser. I added a test and fix for json.lua.
Please have a look.

Thanks,
Philipp


Ps. json.decode("[]") results in the following error:

lua: ./json.lua:366: Unexpected character at Line 1 character 2: ] (93) when reading array ({ or [ or ' or " or number or boolean or null expected)
Context: 
[]
 ^
stack traceback:
	[C]: in function 'error'
	./json.lua:366: in function 'next_token'
	./json.lua:473: in function <./json.lua:468>
	(tail call): ?
	(tail call): ?
	./json.lua:513: in function 'decode'
	tests.lua:175: in function 'testJSON4Lua'
	tests.lua:222: in main chunk
	[C]: ?