List.js minor bugfixes (for review)

If you're ok with this so far then good, otherwise let me know:

--

freeze Nil (one-time overhead for marginal safety)
don't do this for Cons (huge performance overhead)

use Nil throughout instead of making our own (if we're having a singleton, we should be consistently using it)

missing A2, A3 in places.

foldl function applied args in wrong order, foldl :: (a -> b -> a) -> a -> [b] -> a
sort: missing .ctor selector