Bug 977: Return RpcError result on neconf failure

NetconfDocumentedException:
   - Added methods to convert to and from XML.

NetconfMessageTransformUtil:
   - Added code to convert a NetconfDocumentedException to an RpcError.
   - Modified checkSuccessReply and checkValidReply to throw
     NetconfDocumentedException instead of IllegalStateException.

NetconfDeviceCommunicator:
   - Modified processMessage to return an RpcError result for invalid
     message and netconf error reply.
   - Modified other places that previously returned an exception in the
     Future to intsead return an RpcError result.
   - Improved  synchronization by removing synchronized from method sigs
     and locking only the code that needs it.

SendErrorExceptionUtil:
   - Modified createDocument to call
     NetconfDocumentedException.toXMLDocument

XmlNetconfConstants:
   - Moved to netconf-api so NetconfDocumentedException could access it.

The rest of the changed files were to change the import for
XmlNetconfConstants.

Change-Id: Id0ef3ac91bbcb85c9a7a198ceac272fb07f4b9f9
Signed-off-by: tpantelis <tpanteli@brocade.com>