Fix case where guest ID is greater than count

The code to determine if an ID was within a mapping range erroneously compared
the range (guest ID, count) instead of (guest ID, guest ID + count) which
caused mappings where guest ID was greater than count to not work.

For example, a mapping of 500:10000:50 would cause 501 to be mapped to NOBODY
instead of the correct 10001.

The fix is to use `guest ID + count` as the upper bound.

Fixes #3
Merge pull request #4 from rconradharris/fix-guest-greater-than-count

Fix case where guest ID is greater than count
Add idempotent and confirm flags

Idempotent option will only shift a given filesystem once. If a
filesystem appears to be owned by proper uid and gids, idmapshift
will exit early.

Confirm flag will only check to see if the filesystem is owned by
the proper uid and gids. Script will exit with code 1 if the
filesystem is not owned by the proper uid and gids.
Merge pull request #5 from ramielrowe/confirm_ownership_done

Add idempotent and confirm flags
Stop searching after a match
Remove unecessary identical functions
Don't specially case empty mapping

Principle of least suprise would dictate that an empty mapping should map all
targets to NOBODY rather an special-casing it to map to -1.