Started replacement of the AsmJit.

Implemented class ByteData and InstructionEmitter. With
time and another one (in plans) have to changeover AsmJit.
These to classes can generate end code for some asm
instructions. For this moment all supported instructions
have prototypes:
1) cmd r64, r64
2) cmd r64, imm64
3) cmd r64
4) cmd
Implemented class CodeGeneratorBackend

This class realising high level interface on
code generation classes. InstructionEmmiter now
can emit instructions which declarations are
"inst imm64/imm32". Class CodeGeneratorBackend
can emit determined asm instructions. Now instructions
list is:
1) mov  reg64 reg64
2) mov  reg64 imm64/imm32
3) push reg64
4) push imm64/imm32
5) pop  reg64
6) ret
Implemented comparison asm instructions

CodeGeneratorBackend now support this new
instructions:
1) cmp   reg64, reg64
2) sete  reg64
3) setne reg64
4) setg  reg64
5) setge reg64
6) setl  reg64
7) setle reg64
Instructions setcc don't change all register.
They change just one byte. It means that "setne rax"
equals "setne al".
Implemented arithmetic asm instructions

Now CodeGeneratorBackend can emit arithmetic
signed instructions. This is the list of them:
1) add  reg64, reg64
2) sub  reg64, reg64
3) imul reg64
4) idiv reg64
Also bug in modR/M byte generating for instructions
which working with two registrs was fixed
(Earlier it had been generating incorrectly).
Implemented asm labels and Jmp to label

When label binds to some place in code it is
appropriated to some value which is number
of first byte of next instruction after label
in JIT-compilating function. During emit
jmp instruction adress which have to be jumped
assigns 0x0. During make result function these
places changes to absolute adresses. It is
necessary because of variable adresses of elements
of std::vectors.
Implemented (Asm) conditional jumps, call

Absolute indirect jmp (through register rdx)
changed to relative jmp. Implemented relative
conditional jumps (je, jne, ja, jae, jb, jbe).
Also implemented two types of call:
1) Relative call (call labelName) fast call that
   using relative pointers. This type is using
   for calling labels
2) Absolute indirect call (call adress) slow call
   that using absolute indirect adresation through
   register rdx (data that contais in rdx doesn't save).
   This type is using for calling C functions.
Code generation module changed

Earier Code generaion module (module, that controls
through interface JitPlatform) was library AsmJit.
It changed to my CodeGenerator (branch CodeGenerator).
This commit shows convinient of JitPlatform interface
because it took no long time to change code generation
module.