issue-511: implemented rel8 jump patching

I've found that Visual Studio 2012 release 32-bit C runtime library
patching fails because array new has rel8 jmp which previous code
could not handle.

Implementation is largely copied from conditional jumps handling code.
issue-511: recognise rex.w jmpq *<literal>(%rip) as iat jump

Apparently Windows Server 2012 (and presumably windows 8) now has this
form of iat jump. Which is quite useless (rex.w in according to my
understanding is not needed at all) but because of rex.w our code to
recognize jumps like that didn't work.

Fix is just skip this prefix.
issue-511: fixed negative offset handling for conditional jumps

While doing and testing issue-511 I've found one subtle bug which is
incorrect handling of short offsets. They are defined to be signed but
previous code used unsigned char for them which caused negative
offsets to look like larger positive offsets. Fix is trivial.
(couchbase-only) return zero for NotOwned memory size.

Instead of checking with ASSERT, just return zero if the incoming
memory is not owned by tcmalloc.