changed .gitignore
Added Library Dependencies
Added Interfaces
Removed Solver Dependencies
removed Domains
Added Language Primitives
Defined the Term interface
Built Language Primitives
Built Typechecking Primitives
Finished a Rough Version of the Dependent Typechecker

The dependent Typechecker handle's dependently typed terms, Dependent
Patterns have not yet been tested, but single variable terms have; See
TypeTester.java in the test package
Continued to Construct Typechecker - Introduced Sum Types

Also fixed some inconsistencies across Product Types, and implemented
Decomposition of binders. Next Stop: Type Inference for application,
Then Type inference for Abstraction.

Continued to Elaborate Testcases
Drastically Refactored Typechecker

Implemented Context Based Checking, Intelligent term rewriting. Started
on Evaluator.
Finished Basic Typetesting
Refactored The Context and Environment into an Evaluation that Tracks Generic Derivations
Finished Refactoring Contexts -> Derivations; Same Tests Pass.
Began implementing a decision procedure for "Contextual" Alpha-Equivalence
Implemented Alpha-Equivalence, Reduction
Minor Changes
IDE-specific Changes to .gitignore
Merge branch 'beta-reduc'