apcsmart: move variable regex matching into vartab

This also allows us to properly validate (in near future) cases
when single apc variable can match multiple nut variables.

Other changes:

- adjust rexhlp() to follow 0 for false and non-0 for true, like in the
  rest of the functions
- remove valid_cmd() as rexhlp() can be used directly with formats in
  the table; furthermore the warning (in case of failure) could be
  confusing when we add nut:apc n:1 case
apcsmart: add regex format to ambient.0.temperature

'T' might (on older units) also mean "ups uptime", so we want to
distinguish that case gracefully. The formats are:

uptime: 000.0
temp: 00.00
apcsmart: re-add CR to ignore sets

Despite icanon mode, windows (supposedly) is uncapable of ignoring
CR in fashion analogous to IGNCR flag.

See http://article.gmane.org/gmane.comp.monitoring.nut.user/7762 for
rationale.
apcsmart: remove strchr() check from legacy_verify()

As vartab doesn't contain characters from APC_UNR_CMDS.
apcsmart: change approach to 2 digit compatibility entries

As reported in
http://article.gmane.org/gmane.comp.monitoring.nut.user/7762 - 2 digit
values reported through 'b' are really >255V voltage values. So we match
whole 00 - FF set as single (fake) compat entry.
apcsmart: expand APC_MULTI to apc:nut 1:n cases
apcsmart: remove APC_DEPR flag

APC_{MULTI, PRESENT} are both sufficient for handling 1:n and n:1
relations
apcsmart: add device.uptime to vartab
apcsmart: allow users to select non-canonical tty mode

The main reason behind this addition is windows compatibility, see
http://article.gmane.org/gmane.comp.monitoring.nut.user/7762

IGNCR has been readded earlier in commit
20c52bee77fa0b3ea3c7f8bec25afd103b7ff4a2 - this might be enough to
handle windows behavior, but if it's not the case - using non canonical
processing (same as is present in apcsmart-old) should solve any
pressing issues.