add parsing static functions to unit
add parse_name static function

* fix bugs in parsers
* rename degree to DOF
* do not pass degrees and bases as args, call parse_name static func
* refactor parse_parentheses to be called recursively until no parenthetic
 sub-expressions remain
* use split instead of start/stop to replace parenthetic sub-expressions
 with @N
* need @ in regexp or can't find nested parenthetic sub-expressions
* tokens found in from same pattern are in separate cells, whereas
 tokens found from different pattern groups are in same cell, concatenate
 appropriately
* replace basename with uname everywhere
* duh, index matches with {} to get string contents
* TODO: tests, but seems to work
* TODO: simplify