environments: intercept load* calls in spec-files.

Make sure that side-effects from executing a load* function
variant in a spec-file example occur in the example environment.
* specl/specl.in (clone): Remove.
(sandbox): No need for a deep clone, because Specl is hygienic
and puts everything in locals or the global specl table *after*
the sandbox is created.
* specl/specl.lua (run): Save references to the unwrapped core
load* functions...
(initenv): ...so they can be intercepted and wrapped specifically
for each environment table.
(run_examples): Call initenv() before running an example.
* specs/environment_spec.yaml: A slew of examples to verify
correct symbol access with load* variants.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
specs: specify behaviour of require calls in examples.

* specs/environment_spec.yaml (when requiring a module): New
specifications for use of require.
* README.md (Environments versus `require`): Document that extra
care is required when testing behaviour of required modules.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
docs: be more relaxed about literal block markers.

* README.md: Improve description of when `|' is necessary, and
remove them from embedded examples.
* specs/environment_spec.yaml, specs/matchers_spec.yaml,
specs/specl_spec.yaml: Remove unnecessary `|' markers and use
fewer new-lines.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>