[pmc2c] inline gc write barriers into vtable methods

:no_wb detection of :manual_wb, allow RETURN(decl var) also for VTABLE methods

add_write_barrier() now calls Parrot::Pmc2c::PCCMETHOD::rewrite_RETURNS.
Also add automatic WB for 0 or 1 return statements in the method body.
Other need either a RETURN or :manual_wb or :no_wb annotations.

Set manual_wb for :no_wb and PARROT_GC_WRITE_BARRIER in --dump
Detect it now earlier, in the parser

Missing write barriers typically cause the following errors:
t/examples/shootout.t: 16 examples/shootout/regexdna.pir SEGV
t/op/gc.t
t/pmc/*.t
[pmc] partially use new WB markers
[pmc] GSOC start. arrayiterator :no_wb, removed unnecessary :manual_wb

Start of GSOC 2014 work. Task 1: improve GC write barriers.
See GH issue #1069
[pmc] callcontext: manual WBs for shift_pmc & shift_string
[pmc] key, task: manual WBs for shift_*, pop_*
[pmc] callcontext :no_wb and :manual_wb
[pmc] key WBs
[pmc] arrayiterator, callcontext, key, task: WBs
[pmc] capture, HashIterator, ImageIoThaw: WBs
[pmc] default, object, orderedHashIterator, pmcList, resizablePmcArray: WBs
[pmc] fix some mixed c99 declarations with generated WBs

DEBUGGED - ISO C90 forbids mixed declarations =
Solved by adding WB after declarations ; expected declaration specifiers before ‘:’ token
Solved by removing :no_wb attributes for the flagged functions
[pmc] task: WB related errors
[pmc] add RETURN and WB attrs to fixedintegerarray, fixedstringarray
[pmc] re-add some WBs to callcontext
[pmc] fix wrong C99 UNUSED macros and add a few :no_wb

class,imccompiler,key,namespace,nci,opcode,packfileview,parrotlibrary,
sockaddr,socket,timer
[pmc] fix wrong WB annotations

and add needed manual WBs
[pmc2c] Method::decl fix Possibly forgotten UNUSED warning

for the WB rewrite.
[pmc2c] support RETURN(PMC* const ...) and (INTVAL pos>>32)

const is no variable name.
allow full expressions as return value, not just names.

just skip ptr dereferences /^\**/. Note that the * return syntax is flawed,
as we should support both cases, return *ptr; and return ptr;
But we get away with it as we return only return (decl)*ptr and return (decl*)ptr;
[test] move test_gc to the end of t/pmc/fixedstringarray.t

all other tests pass fine, even with wrong write barriers
[tools] add tools/dev/vgp_old using parrot_old

building parrot_old is much faster than parrot, when tracing leaks