Implemented Interpreter::eval.

The Interpreter now has the beginnings of the top level eval function which attempt to evalulate the given data. The data will be evalulated using helper functions depending on its structure. For example, if the data is a Pair, then evaluation of the data will be performed by an evalList function which attempts to resolve the car as a procedure, and passes the cdr to the procedure as arguments to be evalulated. Most of the code is just a skeleton for now, which will be fleshed out as more of the design is nailed down.
Replaced default Complex constructor.

The default constructor for Complex was replaced with one that allows the internal value of the complex number to be stored. Previously, there was no way to set this value.
Added parser.h/.cpp for parsing Scheme source.

The Parser namespace contains functions to parse Scheme's external representation. The source will be parsed using regular expressions to split the code into tokens, which will then be analyzed to form an internal tree representation in the interpreter. Regular expressions have been added for matching delimters, comments, booleans, strings, characters, identifiers, expression keywords, and base 10 numbers. These regular expressions have been minimally tested, but have been correct for the basic tests that I have put them through. Each std::regex will be constructed in Parser::initRegex, so that any exceptions thrown by the regex constructors can be caught by placing the function call inside a try/catch block. If the implementation for base 10 numbers is robust, making a copy of its regular expression for the other bases will be trivial. It also might be a good idea to store the regular expressions in a map of token enums instead of strings, to cut down on typos.