Lots of small changes

1. Swap JSON and JSONValue. JSON is now an alias.
2. Add JSONValue.JSONError case. Replace nil and .JSONNull with
.JSONError wherever possible.
3. Add more meaningful error messages.
4. Make JSONValue a LogicValue. It’s «true» <=> no error.
5. Refactor conversion to String.
6. Remove JSONNull global constant.