Better optimize clone function.
Handle undefined in clone.
Add minor optimization to _clone.
Some style fixes.
Pass more tests.

- Drop free-floating nodes and empty top-level objects.
- Only include @language when @value is a string.
- Lowercase @language.
Fix @vocab and base-related bugs.

- Handle @vocab separately and before other keys when processing
  a context.
- Pass flag indicating whether expansion of IRIs/terms should be
  done using @vocab or @base.
Change expandType to relativeTo, permit @annotation and @language.
Implement expansion of language maps and annotation containers.
Mapping a term to null decouples it from @vocab.
Support and fix bugs with @annotation expansion.
Implement IRI syntax normalization (when applying base).
Consolidate IRI expansion, change context design/inheritance.
Enable renaming of blank node identifiers during expansion.
Do not expand null.
Treat non-objects for @annotation/@language containers as non-containers.
Drop top-level scalar values.
Pass parent property through @annotation container expander.
Drop free-floating objects from @graph value.
Preserve values in top-level @lists, drop in other structures.
Simplify expand IRI, start adding support for property generators.