Code refactorin/clenaup.
Split code into separate source files.
Fix reporting of positions for string literals.
Remove dependencies from "utils.dart"
Fix parser span tracking.

* Track last span of literals and containers separately.
Code cleanup.
Code cleanup.
Fix container parsing to report correct source location.
Fix +1 error in binary search implementation.
Call "leaveXxx" on the correct validator.
Update top level validator to check value is a json object.