Moved all the protocol dependent stuff to protocol_enforcer.c,

including:
- Moved parcing to the enforcer
- Added context handling in the enforcer
- Defined error codes