ExtAPI Services Refactor

My intention was just to refactor the Services mixin to benefit from the ExtAPI changes. However loads of refactoring was required as a lot of the modules dont use the mixin and dont use newer Post mixin methods.

Will need to spend some time working out the verification for this. Comments welcome