Created an exception for UNEXPECTED_ALERT_OPEN

UNEXPECTED_ALERT_OPEN should have it's own exception class instead of just WebDriverException. This pull request adds the error class UnexpectedAlertPresentException and causes UnexpectedAlertPresentException to be thrown for UNEXPECTED_ALERT_OPEN selenium errors.

CLA submitted