List.js minor bugfixes

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
List.js minor bugfixes (followup)

put foldl back as was + add type sig. to indicate why
replace use of xs.ctor with direct comparison against Nil.  This means the ctor field is no longer required (which is nice).

move .ctor in stor to the actual variable (doh)
Merge pull request #129 from ngunn/dev

List.js minor bugfixes (for review)