Add SockJsMessageCodec

A SockJS message frame is an array of JSON-encoded messages and before
this change the use of the Jackson 2 library was hard-coded.

A Jackson 2 and Jackson 1.x implementations are provided and
automatically used if those libraries are present on the classpath.

Issue: SPR-10800
Refactor and polish SockJS package structure

After this change the top-level sockjs package contains the main types
for use in applications.