implement CAutoFile via std::fstream

- implement CAutoFile via std::fstream and use it in the code
- unify log/error messages for serializing/deserializing exceptions
- add debug and benchmark messages for writing/reading block/undo files
- remove boost::path member from CAddrDB class
- add new helper functions GetBlockFile() and GetUndoFile()

If considered usefull, I'm open to feedback and comments. I've been using this for ages with my local build and never had any problems with it. I know that currently there is no "flush to disk" when downloading blocks, but perhaps this pull can help investigating the Mac corruption problems.