PS: add ste6_file.
README, TODO, step_notes updates.
PS: add step7_quote
PS: add step8_macros.

Use dicts rather than array block for user defined mal function type.
Add fload function to setup call from a mal_function dict.
PS: add step9_interop: (ps* str)

Needs some work, but function. Also need (. x y z) form.
PS: add stepA_more.

Sync other steps. In particular, self reference in function definition
and putting readline into _readline function.
All: pass stepA tests, in particular with correct conj behavior.
Java: fix Makefile file list.
All: remove slurp-do, use str around slurp instead.
All: split types into types, env, printer, core.

- types: low-level mapping to the implementation language.
- core: functions on types that are exposed directly to mal.
- printer: implementation called by pr-str, str, prn, println.
- env: the environment implementation

- Also, unindent all TCO while loops so that the diff of step4 and
  step5 are minimized.