List * can now re-create an existing list

The way it works. If you have an existing list the macro will now be smart about creating the list. This allows you to "fix" mixed-character lists. The first character it finds will be used for the entire list. Possible values are: `*`, `-`, and `+`.

Example:

    + foo
    * bar
        * baz
        - foobar

Result:

    + foo
    + bar
        + baz
        + foobar