fix batch: hashtables, for-loop

- bug fix in read_tar: file sizes can have spaces
- rename concat -> str
- add Map.bucketize
- Floats & structs with floats can now be used as hashtable keys
- Fixing state sync in for-loop
- env values are now inherited across stacks
- remove some printfs
- chop out heap_debugging.h, been unused for a while
- for-loop state back to being stored as list. Fixes sync issues w/ discard
Interpreter optimization

 - reduce vm_read_x() calls
 - deprecating CopyTermValue
 - Use SetInt/SetFloat/SetBool instead of CopyTermValue
 - add Compiled.constList. Refactor watches
Module values & on-demand evaluation fixes

 - add call() (alternative to Func.call)
File source & tar fixes

 - rename filepack.cpp -> file_source.cpp
 - add load_tar_in_memory
 - recent build fixes & new tests
fix Vec2 functions to be variadic
Starting on new Blob type
add named indexes in for-loop syntax

 - get rid of dumb index() func
Add raw blobs, add Blob api to stdlib
String.char_code, Blob.to_hex_string
Interpreter optimization

 - started ConvertToDeclaredType (disabled)
 - Remove unnecessary PopOutput for useCount == 0
Dead code cleanup. Kill global names
Module refactoring. Support directories-as-modules
Misc cleanup
Internal code shall use Value instead of caValue
cleanup: delete block_unevaluated(), set_step, Term.tweak
Optimization: static lookup of module references
Fix else-block in switch