Encapsulated MetaData members. Added helper functions for common tasks.

That scheduling was there before my time, so I do not know the whys. Also, I am not sure what `.second` from `GetParent` contains. We probably need input from Fraser or Brian on this.

I agree that `creation_time` (aka. `st_birthtim`) should not be modified. I think that ought to be `last_status_time` (aka. `st_ctim`). I also agree that this should not be platform-specific code.