lib/options: Add an onabort argument to Options()
lib/options: Add an onabort argument to Options()

Some times, we may want to parse a list of arguments and not have the
call to Options.parse() exit the program when it finds an unknown
argument.

Add an argument to the class' __init__ method that can be either a
function or a class (must be an exception class). If calling the
function or class constructor returns an object, this object will be
raised on abort.

Also add a convenience exception class named Fatal that can be
passed to Options() to exclusively catch situations in which
Options.parse() would have caused the program to exit.

Finally, set the default value to the onabort argument to call
sys.exit(97) as was previously the case.

Signed-off-by: Gabriel Filion <8df7619ec42e51274a2f3ff6cd1afa366f63857b@gmail.com>

jbaber/bup,pombredanne/bup,pombredanne/bup,tjanez/bup,tjanez/bup,mhoeher/bup,apenwarr/bup,jbaber/bup,jbaber/bup,tjanez/bup,mhoeher/bup,tjanez/bup,ToxicFrog/bup,mhoeher/bup,apenwarr/bup,jbaber/bup,mhoeher/bup,pombredanne/bup,pombredanne/bup,jbaber/bup,ToxicFrog/bup,gevaerts/bup,tjanez/bup,ToxicFrog/bup,gevaerts/bup,tjanez/bup,apenwarr/bup,ToxicFrog/bup,mhoeher/bup,pombredanne/bup,gevaerts/bup,ToxicFrog/bup,gevaerts/bup,gevaerts/bup,mhoeher/bup,apenwarr/bup,pombredanne/bup,jbaber/bup