checking if the session key exists before deleting it

The session variables (for example 'state' and 'code') are not always saved yet in the session when trying to delete it.

In some use cases (such as the session manager in zend framework 2), the session is overriden by an arrayaccess object, causing a notice to be thrown when attempting to unset an un existing session variable.

This commit adds an "isset" check before the "unset".