Stopped SerializableException from extending Exception

Its not actually necessary for SerializableException to implement exception since it only acts as a serialization wrapper and is not used in actual code.  By not extending exception any more I no longer need any of the jackson annotations so its much tidier.
Moved dependency onto jackson2 to be more compatible with our other library uses
Reduced the visibility of SerializableException and SerializableStackTrace to package so that people don't use them accidentally in their code
Missing override annotation