Support code that is all indented

This removes the excess indentation.  For example the output in code of the following:
```javascript
            /**
             * Test indented function
             */
            function indented() {
                foo();
            }
```

Used to be:

```javascript
function indented() {
                foo();
            }
```

Which is clearly wrong, with this change, it would be outputted as:

```javascript
function indented() {
    foo();
}
```

With an extra property of codeIndent which would let you add the spaces back in if you wanted to for some reason (it represents the number of spaces used for the line with the minimum number).

It leaves tabs in tact and all tests still pass.