Improve handling of prefix arg

Now negative prefix argument adjusts in the opposite direction, and only
explicit numeric prefix arguments (i.e. "C-<NUM>" or "C-<MINUS>") are
used. The "C-u" prefix does not affect the behavior.