Pretty print for JSON dump and cleanup gitignore

- Pretty printing the JSON output of the state dump for better comparing
- Cleanup and re-organize gitignore to remove unnecessary ignores and add /null directory
- Using better practive of ```target/``` instead of ```/target``` notation in .gitignore to support sub-modules