Start creating executor tests
Add support for v:exception
Assume that type functions are always passed correct values
Get rid of non_nil decorator in most functions

It is slow.
Refactor and extend comparison support

In previous state it was too slow and did not work for lists and dictionaries.
Types layout refactoring
Add v:exception tests
Improve numeric operations support

Integer division is rather hacky: math.floor(15 / 7) will return 2 (same as
integer division), but math.floor(-15 / 7) will return -3, while integer
division returns -2.

Thus I use math.floor() on absolute value and then apply sign.
Start creating operators tests