Updated perfdata regex used for perfbars

The regex from the last commit had some flaws with how it handled UOM, negative numbers and decimals. This is a much more complicated regex but should hopefully correct the issues to make the matching work as one would expect. Also changed logic slightly to handle undefined elements better.