Adding new features, bug fixes

Changes:
- Added support for special handling of special forms by the reader
- Implemented 'quote' special form
- Implemented 'cons', 'first', and 'rest' functions
- Removed LiteralValue enum and folded its cases into ConsValue
- Added skeleton for macro system
- Functions overhauled to return error codes upon failure rather than crashing
- Fixed empty list semantics: empty lists are now distinct from lists containing 'nil', and are handled properly
- Parser now correctly recognizes 'nil' as a nil literal rather than a generic identifier