More indent improvements
The logic for indentation has been greatly improved with this new version, borrowing the same basic algorithm used in such projects as https://github.com/sweet-js/sweet.js and https://github.com/ternjs/acorn for block and object differentiation. I see the indentation getting much more stable now, though as always there possibly are some regressions or bugs