added aux trim functions

Added an implementation of trim, ltrim and rtrim to aux/trim.hpp which allows for certain characters to be stripped off a string.
fixed mapfile stream iter to streambuf iter

Using istream_iterator and ostream_iterator causes trouble for file mapping, since these iterators operate on elements rather than bytes. I.e. the << and >> operators are called to move data from/to the buffer. Using istreambuf_iterator and ostreambuf_iterator alleviates this problem as it operates on the raw bytes, which is what mapfile is supposed to do.

Also added a twist to maybe_read and maybe_write: Reading from a file into an std::string will cause the read string to be trimmed such that no leading and trailing whitespaces remain. Writing to a file from an std::string will cause a newline to be added to the end of the file if there is none. This makes the contents of refs/* cat-able due to the inserted newline.
db-meta: added modification options

The db-meta tool is now capable of changing metadata fields (-s option) or deleting metadata fields (-d) option. The resulting track is written to the database and the index file update appropriately.