Updates Researching Technology.

- Enums now use .name() instead of needing a String value to hold name.
- Adds support for adding requirements to a technology.
- Removed Requirements Class in favor of TechnologyEnum ArrayList.
- Adds an extra InfantryDamage upgrade level.
- Adds a Test Class TestResearching to test progress.