Fix subtle issues in opj_skip_from_memory and add unit tests.

Follow on to https://codereview.chromium.org/990683002/.
This more closely mimics what fseek() actually does, so as
to avoid subtle bugs down the road.

Move the DecodeData struct into a header so the test can
use it, and provide a constructor for it.

Along the way, I added include guards, removed the p_
prefix from some non-pointer vars, fixed some IWYU, and
resolved some signed/unsigned comparison warnings with
careful casting.

BUG=452671
R=jun_fang@foxitsoftware.com, thestig@chromium.org

Review URL: https://codereview.chromium.org/1016203002
5 files changed