Implemented disk reading once lsh limit is reached

Also now writing lsh tables to ../tmp/lsh subdirectory, in case other stuff is being written to tmp
Sorry I miswrote, meant to say "to avoid dealing with whatever other files may or may not be written to tmp/musicId".

My concern is if we have the LSH tables write to a directory that already has other stuff, it could prove problematic if other files happen to have the same name's as the files we're trying to write (even though that's extremely unlikely that may be). 

Also, though I don't know how python's open() method works, it could it possibly improve efficiency if we write to a different subfolder, so that Python doesn't have to search through as many files to find the one we want. Again, I don't know if Python looks through the entire dir to find the filename we give open(), but if it does, using a different subdir like tmp/lsh/ would be faster. All I'd have to do is add an extra line to tearDown() to delete tmp/lsh/. The setup is taken care of in the writeToDisk() method, and I prefer it stay there over moving it to setUp() because we might never need to write to disk, and thus not need the dir to be setup immediately on start.