When parsing of a message fails at either end client/server instead of assert, we
enqueue an EvStop which results in connection negotiation restart at client end
and connection deletion at the server end. Additionally
1) WriteDoc() pugi librabry api results in adding formated output i.e new-line
   characters which is useful while displaying traces. Both <iq and <message
   modified to use WriteDoc()
2) WriteRawDoc() is used during initial stream negotiation. The additional
   new-line character that WriteDoc() inserts enqueues a keepalive message. This
   is ok during <iq and <message exchange but not initial stream
   negotiation as there might be potential unintentional change of state.
3) Added check for ensuring stream open is only at the beginning of a message
   for both open and open response xmpp messages.
4) Added xmpp_stream_message_client and xmpp_stream_message_server tests to
   ensures connections are reset/deleted if the open message is not as expected.
5) Usage of XmppInit class in test-code for increasing code coverage
Code diffs to be pushed
Unwanted new line
Replace Program with UnitTest to enable memory checks
Merge pull request #692 from Juniper/nipa-xmpp-open

Stricter check for xmpp open messages.