Add experimental annotation Hamcrest matcher.
Add global component registry.

  - Going to use this for injecting default components.
Add PropertiesUtil class.

  - Mainly useful for abstracting some system properties.
Not entirely sure what I updated here.

  - Some refactoring.
Refactor FileUtil quite a bit.

  - It's almost done. Mostly deprecated old things that can be replaced with FileUtils.
Rename NucleusTestUtils to NucleusUtils.

  - Some refactoring.
Refactor NucleusTestUtils to NucleusUtils.