[Enchantments][Tests][SQL] Adding a SQL Data Layer

- This was the first big chunk of code I actually branched off and tried experimenting with so that I wouldn't risk bricking any existing code.
- Added several projects... One focuses on a SQL implementation of certain data layer pieces, and the other is a test project for it.
- Added a factory for creating data layer enchantments.
- Added a repository for data layer enchantments that is implemented for SQL.
-- This will blindly leverage a factory to make enchantments so it has no need to require concrete classes
-- Has several methods to generate enchantments from a preliminary SQL schema.
- Added some SQL base classes for a database and a data store.
-- The database provides some helper functions for working with a generic SQL database
-- The datastore will contain access to the various repositories that the data layer will contain.
- Mocked out a whole pile of data-layer unit tests which was a really cool learning experience. There's a bunch of duped setup code still, so I'd love to refactor it.