Added empty_list() helper.
Evaluating unbound atoms yields Error::UnboundVariable.
Made evaluation of empty list yield an empty list.
Added Error::WrongArgumentType.
Added primitive function +.
Added Error::BadArity.
Removed Error::IrreducibleValue.
Added tests about unappliability of booleans and integers.
Added primitive function -.
Removed unused import of ast::atom_quote.
Added primitive function *.
Added primitive function /.
Renamed eval_fun to apply.
Changed eval to evaluate procedure arguments before dispatching.
Extracted integer matching from primitives evaluation.
Merge pull request #10 from razielgn/basic-eval-primitives

Added evaluation of +, -, *, /