ADD: Atom parsing.

All functions that can recognize and extract an Atom name from a string are now done.
CHECKPOINT.
NEW: The Parser now works with Atoms.

The program can parse an Atom from a string and prove it with the interpreter.
NEW: The parser now extracts Facts.
NEW: The parser now removes the spaces.

Before any text parsing even begins, the parsing function runs a method that removes all spaces that hold no meaning to the parser but spaces that can make a compile error are left behind, so the error can appear.
FIX: Some bugs fixed:

Whitespace removal bug: When removing whitespace, the parser must skip those left between two numbers or two letters: "X Y", "2 4", "a 4", because there is a missing operator there. Otherwise the two substrings will be conjoined and no error may appear.

Parsing whitespaces: When the parser reaches a whitespace, that is a whitespace left beheind for a purpouse - a missing operator. The parser throws an exception that shows the place of the missing operator.
FIX: Namespace collisions.

There were compile warnings caused by namepsace collisions. Multimethod logic.term/resolve was coliding with clojure.core/resolve and logic.interpreter/replace was coliding with clojure.string/replace.
Checkpoint. Gonna sleep now.
FIX: Parsing bug.

When the string is all read, the remaining operations from the stack must be poped and executed. There was a mistyped variable name which was leading to making the operations on the same two Terms each time, thus making the end result incorrect.
NEW: Compiling files.
ADD: Parser now reads Prolog Rules.
ADD: Parser now reads functions with higher arity.
ADD: Parsing comments.
FIX: Operator '.' priority fixed.
ADD: Parser now reads brackets.
CHECKPOINT.
NEW: Prolog Operator.

Instead of Prolog Expression, which repesents only mathematical expressions, there will now be Prolog Operator. Each Operator has a precedence (0 - 1200), a type (xfy, fx, etc.) and a name. The name will be used to find the actual term that the Operator masks.