Add list type and constructors/deconstructors for it

Concretely, builtins:
* `list` for creating list from params,
* `cons`, for constructing list,
* `car` and `cdr` for decomposing lists.
A bunch of tests for list operations
Fix cdr behaviour on one-element list
Add example program of using lists