fixed Device to match data type for Dev size on Darwin

This will break on Linux.
abstract out OS dependent file tracking structures

if we are going to rely on a dev value from stat, we need to realize
it's platform dependent and adjust accordingly
Merge pull request #74 from vitalsource/master

move FileState into platform specific structures