Cleanup music db code and abstract metadata parsing.

Music DB code now uses proper sqlite3 locking mechanism which should
ensure that errors are always reported properly.

Audio metadata parsing has been abstracted to make it possible to use
different 3rd party libraries. So far TagLib and libavformat from
ffmpeg are supported.

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Server: Improve music database scan performance.

Sqlite3 journal_mode = WAL seems to do wonders for db scan times.
On my machine INSERT times drop from ~300ms to ~40ms.

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Server: Split sqlite3 profiling into separate debug option.

It adds a lot of noise to log output and is only usefull when
actually working on database related code.

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Server: Handle too long query parameters.

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Update TODO file.

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Server: Fix two memory leaks.

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Server: Get rid of likely/unlikely macros.

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Implement install targets and cleanup configuration file.

Signed-off-by: Peter Tworek <tworaz666@gmail.com>