Split specs into unit and functional specs

The specs under spec/unit exercise the inner workings of Klam.

The specs under spec/functional exercise the overall behavior of the
system as observed by the effects of evaluating Kl code. They compare
the result of evaluating Kl code against an expected result which is
read as Kl, but not evaluated.

Also fleshed out the functional specs for the evaluation of atoms,
making them more comprehensive and to use the approach of comparing an
evaluated result against a read expectation.