Merge pull request #70 from linkmauve/master

Implement filesystem services, and the required kernel objects.
Use the citra user path for the sdmc directory
chunk_file: General cleanup

- Remove unnecessary ifdefs
- Remove commented out code. Can be retrieved later if needed.
Merge pull request #116 from archshift/sdmc-dir

Use the citra user path for the sdmc directory
Merge pull request #118 from lioncash/chunk-file

chunk_file: General cleanup
FileSys: Add forgotten docstrings.
FileSys/Kernel: Implement GetSize service call for File objects.
FileSys: split the constructor into an Open method, in order to notify the opener something went wrong.
Kernel: Return an invalid handle to OpenFile when it failed to open.
FileSys: Add static asserts for the Directory struct, and fix its fields position.
Common: Add a helper function to generate a 8.3 filename from a long one.
Core: Fix the SDMC Directory implementation to make blargSnes work.