Rearrange tests

Moved 'macro inside xx' tests under tests of each syntax
Show actual JS
Refactor test (use `'q` rather than `(quote q)`)
Add faq.md
fix: macros in some special-forms did not expand
fix: "A\n" is parsed as "\n"

Added "$1" for the captured "A"
change: Treat 1-clause if as non-value statement

To generate cleaner JS.

If the last expr of a function is 1-clause if, we can know this function
is not intended to return value.

    (define (f)
      (when x
        (do-something)))
Changed subtitle