#533: Update requireAlignedObjectValues rule to work with whitespace aligned via spaces and/or tabs

This fixes #533. 

I verified that this fix works in the following scenarios:

- Only tabs used for alignment
- Only spaces used for alignment
- tabs used for some object keys and spaces used for others
- tabs and spaces used for some object keys, spaces used for some, and tabs used for others.

It should work in all scenarios and give you an accurate reading as to whether your objects are aligned or not as long as you update the requireAlignedObjectValues rule to be set to something like the following:
```
{
  "requireAlignedObjectValues" : {
    "mode" : "any string that was valid before",
    "tabSize" : "the amount of whitespace that your tabs count as"
  }
```
You want me not to abstract out separate logic into separate functions...? I can do that.. but it's odd.