Make dbqueue non-global

This fixes execution time errors on Windows machines.
Allow the path to the magic file to be changed

This also allows libmagic to work *at all* on Windows machines.
Fix dynamic module loading on Windows

Made uforiamodules non-global and imported all module sources
separately in each process. This is necessary because python
multiprocessing works differently in Windows, and the result of
imp.load_source can't be shared between processes.
Code Review Marcin's fix for Windows

Missing some settings in .gitignore
Instead of subdirectories, use _ as mimetype separator for modules. This will prevent import warnings while importing modules dynamically.
Support multiple columns in modules
Re-add unintentionally deleted break statement
Add unit tests for and document dbworker

Also remove a few unused imports
Documented fileScanner, improved existing tests and added tests for
fileScanner
Do not create the db object in the argument list

This causes problems due to improper object scope/initialization order.
Refactor and document Uforia.py, fix curses output
Added audio module for MP3 and MPEG

This module uses extern lib eyeD3
Somewhat improved (clarified) the descriptions of the functionality.
Add pydoc strings to remaining default files

Also cleanup whitespace and fix the naming of a modulescanner method.
Use format string instead of concatenation in mpegaudioreader

This is to prevent errors when, for example, None is assigned to artist or other values (which happens with some mp3 files).
Revert "Instead of subdirectories, use _ as mimetype separator for modules. This will prevent import warnings while importing modules dynamically."

This reverts commit 61f4c900c39cb0e3be6792c06af11f963d99c31a.

Conflicts:
	source/Uforia.py
	source/include/modulescanner.py
Fix some ugly changes in previous commit 378368b4ca05e1dee8be6228d7586ea83f5d80b8
Fix python module import warnings by not using dots

Previously imports were done using (for example)
imp.load_source('audio.mpeg.mpegaudioreader','audio/mpeg/mpegaudioreader.py').
This is incorrect and causes warnings, because audio and mpeg are not real
python modules (contain no code) and cannot be used. Separating the name using an underscore fixes the problem (we can't use / because it isn't a valid python identifier).
Also replace windows file separators \ for consistency across databases

Previously database tables had \ embedded in their name on windows
machines, because the code only replaced / file separators and not \.
FLAC parsing using mutagen (WIP)

Currently only stores the length of the audio file in seconds.