Add map
Add modulo primitive

Make lexer to recognize % as symbol character.
Add filter
Add reduce
Add equals
Fix typos
Allow to pass arbitrary number of args to user defined fns.
Add not
Pass scope to primitives too

Because sometimes u need to call a function.

Make eval a primitive.
Add apply
Add and
Add or
Handle float numbers
Add symbol? predicate
Add list? predicate
Add number? predicate

No tests.
Add callable? predicate
Add str type
Add string? predicate
Fix exception name typo