Loader: Removed unused CXI and DAT loading code.
Loader: Added stubbed detection of CXI and CCI files.
Loader: Moved elf and loader modules to a "loader" subdirectory.
Loader: Added support for booting NCCH executables.

NCCH: Fixed typo in printing NCCH filename.
Elf: Renamed modules to be consistent with new loader naming, fixed tabs -> spaces.
Loader: Cleaned up and removed unused code, refactored ELF namespace.
Elf: Removed unused macros, changed #include of "common.h" to just "common_types.h".
NCCH: Changed decompression to load .code directly into memory rather than an intermediate buffer.
Loader: Implemented AppLoader interface for abstracting application loading.

- Various cleanups/refactorings to Loader, ELF, and NCCH modules.
- Added AppLoader interface to ELF and NCCH.
- Updated Qt/GLFW frontends to check AppLoader ResultStatus.

NCCH: Removed extra qualification typos.

Loader: Removed unnecessary #include's.

NCCH: Improved readability of memcmp statements.

NCCH: Added missing space.

Elf: Removed unnecessary usage of unique_ptr.

Loader: Removed unnecessary usage of unique_ptr.
NCCH: Fixes reduce unnecessary logging and load logo/banner/etc. sections correctly.

Loader: Added ErrorNotUsed ReturnStatus type to specify when something is not used.
NCCH: Added RomFS loading.
Loader: Refactored use of const.
ELF: Refactored LoadInto(..) to use memcpy, removed unnecessary code.
MemMap: Added a WriteBlock function to write a buffer of data to memory.
Loader: Refactored loading functions to only read data from binary if called.

NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.
Merge pull request #22 from bunnei/loader-improvements

Refactor loader code and add preliminary NCCH support