Added the fileManager, which will optimize scans

Big note: This isn't currently in use, but it will be soon within the next
version release. It's intended to keep the scanning phase on its own
separate thread to not clutter the main thread, when doing large scans.