Make user.info return an empty dict when user not present

These commits update the user providers so that user.info returns an empty dict when the user is not present. This makes change detection much simpler in the user.present state and also makes ``__salt__['user.info']('foo')`` return a value that evaluates to ``False`` if the user **foo** does not exist.

Refs to the ``user.info`` function have been updated as well, where appropriate.