Configurable indent

The current implementation uses a fixed indent of two spaces. This pull request made that configurable by using
```java
writer.setIndent("    ");
// or
writer.setIndent("\t");
```
Default is still 2 spaces, to ensure backwards compatibility. Unit test is included.