Falling back to regex solution for default value when value is malformed

This keeps `splitName()` from returning `null` when the default-value validator fails. Instead of returning `null` we fall back to the regex solution. This can generate odd output, but it's no worse than before we were special-casing default values anyway.

Added the following tests which fail without the patch and pass with it:
    1) should fail gracefully when the default value has an unmatched bracket
    2) should fail gracefully when the default value has an unmatched quote