issue #550 - Allow non-indented "break" in "switch" statement

I just modified validate-indentation.js to allow non-indented "break" in a case statement.
I also modified and add new unit tests to match those changes.

**List of proposal** :

1. Modified validate-indentation to permit initialization with an object (as validate-jsdoc or validate-line-breaks). Number and String initilization still works fine, it's just more flexible this way
2. Added a new option "allowBreakUnindented" with a default value : false
3. Added a new option "allowCaseUnindented" with a default value : true
4. Added unit tests to be sure that validate-indentation still works accurately

So, this rule default behavior doesn't change at all.
New functionnalities are just  options that you can enable or not.

with allowBreakUnindented = false (default)
```js
switch(value){
    case '1':
        break; // ok
    case '2':
    break; // error
}
```

with allowBreakUnindented = true (fix #550 issue)
```js
switch(value){
    case '1':
        break; // ok
    case '2':
    break; // ok
}
```

And 'allowCaseUnindented' parameter is the same thing for 'case' indentation in the switch statement.


For initialization, you can still use : 
 * Initialization with a string :
 ```   validateIndentation: '\t'```
 * Initialization with an integer :
 ```   validateIndentation: 4```

But you can also use an object with optional parameters :
 ```   validateIndentation: { indentChar: '\t', indentSize: 2, allowBreakUnindented: true}```
Why is there a second iteration through all switch statements?