track list in index now uses id as key

The track list in an index object now not only lists track object hashes, but
also the track id. The list is read into a map, with the track id as the key to the track object hash. This makes future track handling easier, where the
primary key to get to a track shall be the id (which is permanent), rather than
the hash (which changes with every modification).
minor comment change in db/file/Track.hpp
db-add: use sha1'd uuid as track id

The db-add.cpp tool now hashes the generated UUID for each new track using sha1.
This makes the ids easier to read and drops all the hypens and other
platform-specific stuff. This change actually makes the lowercase transformation
in uuid::generate() obsolete.