assemble.c: Introduce mnemonics into bytecode spec

There are a number of mnemonics used in instns.pl plus
insns.dat files, lets document them.

This is first attempt to document mnemonics, so something
might be still missing, need review and updates.

No functional changes.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
insns: Move 'np' mnemonic into @plain_codes

This is literal mnemonic so no need to special
handling, move it to @plain_codes instead.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
output: elf -- Rename section_attrib to elf_section_attrib

Global section_attrib name is too general.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
output: elf -- Move elf_directive into single instance

For all Elf32/32x/64 this routine is the same. So lets
merge it into one instance.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
output: elf -- Move common structures into outelf.h header

All Elf formats we're supporting at the moment have
are using same structures, move them into a header
and name then with elf_ prefix.

This makes a few fields to carry 64 bit integers while
in former Elf32|x formats they can be 32 bit wide, but
I think it's acceptable tradeoff.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
output: elf -- Use common elf_ structures

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>