Rewrote multiprocessing parts to only require one database connection

List of changes in detail:
- fingerprint_directory:
	Now uses mp.Pool.imap and updates database in callers
	process.
- fingerprint_file:
	Now uses _fingerprint_worker internally.
- _fingerprint_worker:
	Some slight changes to argument handling due to `imap`
	usage.

	Changed to return (song_name, hashes) where hashes is
	a set of hashes from all channels.
- path_to_songname:
	Changed to use `os.path.splitext`, this caused files with
	a period in their name to return the wrong name.
Corrected fingerprints table schema, fixes #26
fixing fingerprinted column of songs table not getting updated to 1.
fixed multiple issues to prevent refingerprinting songs in same dejavu instance

	* fixed code to prevent refingerprinting song if it is already fingerprinted in fingerprint_file()
	* fixed code to prevent multiple fingerprinting of songs in same dejavu instance
change the start of j val to 1

when j=0  ,i+j is alse equal to i,that will make so many same hashes from diffent songs
Added a dejavu.py script and added documentation
Merge branch 'patch-1' of https://github.com/suxianbaozi/dejavu
Formatting
fix #39

Make the two point for hash with little delta of time
Merge branch 'master' of https://github.com/compwright/dejavu
Fix to dejavu.py script, small edits, removal of unecessary printing
Merge branch 'patch-1' of https://github.com/suxianbaozi/dejavu
Incorporated MAX_HASH_TIME_DELTA optimization
Merge remote-tracking branch 'upstream/master'

Conflicts:
	dejavu/__init__.py