Reorganize SASL bits
Add skeleton of SASL authentication framewoek classes.
Extract all the common bits from the AmqpResource types into an abstract
base class to make state management more consistent and easier to
refactor.