Add main() and logging.  Fix bug in process_day().

- Fix bug in process_day() in which it used an inadvertently global
  variable, daydirs, rather than the function argument daysdirs.  Bug
  effects difficult to determine.
- Change all print statements to logging.
Modify for testability.  Add basic test framework.

- Modify surveillance.py for testability.
- Create src/test and build basic test framework.
- Checkpoint; initial test code not complete.
Fix exception in main loop when no work to do.
Add initial test code to build images. Surveillance fails.

- Images built for previous days only.
- Exception in process_previous_days_thread.
Fix bugs found in basic previous-days test.

- Fix exception in make_index_page() trying to generate link to
  previous page when on oldest page.  Now generates grayed
  "Previous day" pointer.
- Fix bugs and exception in process_previous_days().
- Clean up comments in main().
- Test results validated by eye, not yet by test code
Add post-test website validation to test code.
Improve logging & testability. Add new tests. v0.9.2dev1

surveillance.py:
- Add daydirs_with_work() to surveillance to filter out daydirs that
have no images to be processed in main loop.
- Add terminate_processtoday_loop flag to return from processtoday()
when all of today's images have been processed during testing.
- Removed newlines from all log messages.
- Add logging for start/end of all threads and for unexpected
exceptions.
- Improve logging of crop_image() failures.
- Bump version to 0.9.2dev1

TestSurveillance.py:
- Modify setUp() to remove any existing log file before the start
of a test run, and reset all test globals in surveillance.
- Change copied and pasted test function & global names from
ftp_upload to reference surveillance.
- Change all references to surveillance module to moduleUnderTest.
- Add ForceDate function.
- Add new-images-only test and new-and-old-images test.
- Fix minor bugs in tests.
- Add purge test.