Add basic C++ code emitter for Algorithm::Burs
De-duplicate rule code when generating the rule execution method
Move _add_rule helper method to Burs.pm
Automatically transform rules to normal form
Allow using explicit values (numeric or symbolic) for functor/tag IDs
Allow empty attribute lists in perlapi.txt
Move replace_if_changed to an helper module
Emit SP declaration at most once per function
Fix call_runloop type declaration
Add emitter skeleton using Algorithm::Burs::Cpp as the dispatcher

Does not JIT any operation yet, but it contains all the support code required
to handle non-jittable optrees (containing opaque value, non-handled opcodes or
an op we don't want to JIT in isolation, e.g. padsv).

Emitter code for binary ops, lexicals, constants in pj_emitter.cpp is currently
unused, but it's left there to reduce the size of the diff.
Add code to match constants and lexical variables
Add emitter code for addition, multiplication and int()
Allow specifying weight for match rules
Add support for delaying the reduction of some parameters

Rwquired for logical operators and all control structures.
Make is_xv return true for all types that are represented by an SV*
Fix alloc_variable for the case when the first basic block is empty
Check _jit_emit_return() return value
Add helper methods to get the LLVM type for SV*/IV/UV/NV

The IV and UV types are the same, since LLVM has different signed/unsigned
instructions, not types.
Add emitter code for && and || operators
Abort with an error message

Does not really help debugging, but it's still better than a plain abort().