Validate is called before call
Validate takes validator as argument

Primitives take validator with already evaluated args.
Validate custom function args

Fix bug with WrongNumberOfArgsException.
Before calling lispobject check if is callable
Don't overwrite function name when catching exception

Do is not taken into account.