codegen, bindings: find a representation for nil

LLVM performs an incorrect optimization by factoring out the nil.
codegen: is_null doesn't work for non-const values
README.md: add some interesting notes
codegen: preliminary work on var-length str-split