Function reads a string (the input is a string to allow
conversion of angles between -1 and zero degrees) with degrees,
minutes, and seconds separated by any of characters d, m, s, a colon,
or a comma. Spaces are not valid separators, as they are removed as
part of input parsing. Decimal values are allowed in any position.
Zeros are the default if values for minutes or seconds are missing
from the string. A minus sign, W, or w before the degrees indicates
negative degrees. Positive degrees are denoted by no character, +, E,
or e before the degrees values.