(Fix) Allow decorated I/O functions to not force owtf to quit.
(Fix) Allow decorated I/O functions to not force owtf to quit.

*Bug*

For instance, with the following snippet:

    :::python
    try:
        a = core.open('asdasd', 'r')
    except IOError:  # Never catched because OWTF exited before.
        pass

This would force OWTF to clean.

*Fix*

Now, the user can specify `owtf_clean=False` that will skip the exit and solely
raise the error.

    :::python
    try:
        a = core.open('non_existing_file', 'r', owtf_clean=False)
    except IOError:  # IOError will be catched now.
        pass

DarKnight--/owtf,DePierre/owtf,DePierre/owtf,sharad1126/owtf,DarKnight24/owtf,DarKnight24/owtf,owtf/owtf,owtf/owtf,sharad1126/owtf,owtf/owtf,owtf/owtf,owtf/owtf,DarKnight24/owtf,sharad1126/owtf,DarKnight--/owtf,DarKnight--/owtf,DePierre/owtf,sharad1126/owtf,DarKnight24/owtf,DePierre/owtf,DarKnight--/owtf