Remove some unnecessary map pointers
Detect file not existing at read time
Use filepath for manipulating file paths

This is platform-independent (so you get \ on Windows)
Merge pull request #1 from cespare/misc-tweaks

A few best-practices tweaks