The CAS3 code can actually support CAS2 as well

The validateURL is different for CAS2, but if we allow it to be configured it'll work. I also made serviceURL configurable because sometimes you want to have the request come back to a specific place for further processing.