compile construct fields into .qb file

also print them with qbi
include a new test script that demonstrates this
update docs for new syntax
remove unnecessary return stmt from docs
rename br instructions to be if instructions

follows the jvm bytecode pattern. easier to think about if the label
is where to go if the condition check does not pass
this is just compilation so far. still need to fix info and interpreter
rename branch instructions to be if in qbi

now displays instructions to match how they're compiled.
still need to fix the code execution.
change qbrt to execute if instructions

instead of the old school br instructions
fix struct.uqb test program

fixed bug w/ program assigning to an invalid register.
also implemented compile time change to use copy true and false
constants instead of creating new Construct objects.
start checking for invalid register IDs

and fail the function if one is found
add comparison for bool type
fix bug w/ not resetting func register count

when reassigning a new register count, need to make sure that the
register count is reset along with newly allocated memory.
not currently setting it down as there *shouldn't* be a penalty for having
too many registers allocated
add struct.uqb program to test suite