IDP initiated Logouts

Created a BaseAssertion class to dry up the code and simplify the
parsing and generation.