Support comma-first for vars/object declarations

Support "comma first" style when declaring variables or properties
inside an object, as discussed on issue #245.

The proposed solution is based on changing the order of the newline
(before / after the comma) depending on the value for the new option
"comma_first". The proposed command line argument for this option
is "-F" or "--comma_first").

It is also necessary to modify the indentation string used for some
particular lines, in order to include the comma as part of the
indentation string and achieve the desired result regarding
indentation (in some cases it is easier to think of the comma as part
of the indentation string, in replace of a whitespace).

TODO 1: tests for this feature

TODO 2: implement the feature in the python version (I prefer to get
feedback for this commit first and, once the feature's JS code is
considered correct, then proceed with the py code).

TODO 3: in the future, other variations for the indentation pattern,
for object properties, could be allowed. The currently allowed one
looks like this:

{
  prop1: 1
, prop2: 2
, prop3: 3
}

Another version could be:

{
    prop1: 1
  , prop2: 2
  , prop3: 3
}

In "other words", the first property is double indented. However, it
must be noted that jslint errors related with the indentation could
arise (tested with JSHint).
Remove unnecesary object_property_deindened flag

Remove flag "object_property_deindened" which was created but never
used.
Change --comma_first for --comma-first

Use the dash instead of underscore for the name of the client argument
related with comma first style (as suggested by @evocateur).
Style comma-first code in a more homogeneous way

Change the style of the code related with comma-first feature in order
to resemble the formatting style used throughout the rest of the JS
file (for example: separating the "if" keyword from the start of each
parenthesis with a whitespace).
Remove -F shorthand

Remove the "-F" shorthand for command option "--comma-first" to avoid
getting low on possible single characters options.
Remove comma_first_indentation_workaround

Remove the workaround implemented to allow a vertical alignment of
objects' properties. That feature could be considered too complex and
also an unwanted behaviour by some.

The changes proposed in this commit make objects look like this:

    myObject = {
      prop1: 1
      , prop2: 2
      , prop3: 3
    };

Without these changes objects would look like this:

    myObject = {
      prop1: 1
    , prop2: 2
    , prop3: 3
    }
Merge branch 'commaFirst'