Macroexpand* needs seq? guard or it will fail

- The `(if (seq? form) ...)` test was in macroexpand-all* but
  macroexpand* calls itself recursively.
- `macroexpand*` calls the real `macroexpand-1`.
- Some macros expand to a bare symbol which will cause the real
  `macroexpand-1` to throw an exception.
- Example of a problematic expresson: `(or 100)`. Expands to `100`.