Relicense under Boost Software License v1.

I see no reason to keep this under anything else.
Remove LOGAND/LOGOR/SWAP/FREE.

FREE: replaced with REALLOC BLOCK 0 0 (resize output operand to size 0)
 - input operand is unused if size is 0. Input operand may also be a
 literal zero, but its operand value is ignored in that case because
 there are no other meaningful values to provide there. Input block
 operand may get removed later.

LOGAND/LOGOR: can be recreated using jump/load if you really want.
E.g., result = (x < y && y < z)
  let* x, y, z, result {
    if ! x < y ; jump ^is_false
    if ! y < z ; jump ^is_false
    load  result 1
    add   ip ip 1
    ^is_false: load result 0
  }

This requires more instructions to complete, but assigning the result
of a logical expression is less common than using it for a conditional,
so is more like the edge case than the norm. I'd rather have fewer
opcodes overall even if it means a few more instructions to store the
result of a logical expression.

SWAP: useless. Saves only two-ish instructions for an operation that's
  unlikely to occur or need to happen at the instruction level.
Update test.asm