Add 'ignore_extra' option to the 'unpack' function

This is meant to be a backwards-compatible change: Setting the new option will
cause the function to ignore extra bytes and simply return the (object, pos)
pair, where 'pos' is the end position of the parsed object in the input string.
The function stays with the same behavior when no options are passed.