Timeout mechanism
Sets timeouts in HTTP readers, checks for deadline exceeded before each
resolution step, and uses Timeout::timeout for pure-ruby computations.
Update text-or-binary heuristic
The `cbor` gem is a bit janky and it turns out catching NoMemoryError is
not safe, so use an encoding-based heuristic to detect binary vs utf8
data.
Dhall::Coder
Full "to basic ruby types" deserializing, set up as a drop-in for
ActiveRecord::Base#serialize
Fail fast when encoding is bad
Allow imports to be either binary or source form
First pass at import resolution
Builtins are part of the standard set
Start to implement normalization rules
Decoding Dhall from binary works