Fix #627: Implement interleave and interpose

This pull request implements ``interleave`` and ``interpose`` as discussed in #627. Docs and tests have been updated accordingly. The implementations are as per #627 except

```hy
(apply itertools.chain ...)
```

has been replaced with

```hy
(itertools.chain.from_iterable ...)
```

to handle infinite/lazy sequences correctly.

Thanks for reviewing in advance.