Adds support for parsning NaN

This is a suggestion for issue aseemk/json5#30. 

I have chosen to allow both "-NaN" and "NaN" to be parsed as NaN. 

Unfortunately I had to add a special case for NaN in the tests as NaN !== NaN, please if there is a better way to do this let me know. 

Let me know what you think.