Makefile changes to work with gcc 4.6.3 and boost 1.48.0
1. Trying (unsuccesfully) to pass fileQueue to search_path with
     boost::shared_ptr<BoundedQueue<std::string>> fileQueue
  instead of
     BoundedQueue<std::string> &&fileQueue
2. Making use of features in version 1.48.0 of boost::program_options to avoid following symlinks:
     1. Skip links to directories that are still subdirectories of root_search_path
     2. Skip files that actually exist under root_search_path
  + This should find all files underneath root_search_path, but not index
    any one file twice.
3. Add cleanup_workers() to
  1. join all threads
  2. pass exceptions back to main
4. Use vectors to store threads (for later calling join) and index_error for exceptions
Bringing up to date to latest version (doesn't compile)
1. FileWorker::run and FileWorker::searchPath changes for shared_ptr to fileQueue
2. Adding _state as private member of FileWorker
3. FileWorker : boost::noncopyable
4. ~FileWorker() for debugging purposes
Change references to fileQueue members to dereferencing operations since fileQueue is now a boost::shared_ptr