Refactored SipHeaders

Introduced an enum SipHeader to avoid illegal headers. Added more tests
for encoding SIP messages