Add a JsonNodeType enum

This enum lists all possible types of generated JsonNodes.
JsonNode: add abstract .getNodeType() method, make all .isXxx() methods final

The result of .getNodeType() is enough to answer all of .isXxx() questions.
Merge pull request #145 from fge/master

Make JsonNode implement all of .isXxx() methods (2.2 material)