Refactor getNextBuildTime into base class.
Add initial implementation of NightlyTriggerable.

This scheduler responds to Trigger steps, but only builds the most
recently triggered source stamp, when a timer fires.
Factor out NightlyBase tests into a separate file.
Add tests for NightlyTriggerable.
Add utility function to recreate a Properties object from the result of .asDict().
Make NightlyTriggerable persist last trigger information.
Add tests for properties to NightlyTriggerable.
Add documentation for NightlyTriggerable.
Make Trigger step recognize NightlyTriggerable.
Fix compare_attrs of NightlyBase and Nightly scheduelers.
Triggerable and Trigger extended with multiple codebases functionality
Merge branch 'timed-triggerable'

Conflicts:
	master/buildbot/interfaces.py
	master/buildbot/schedulers/timed.py
	master/buildbot/test/unit/test_schedulers_timed_Nightly.py
	master/docs/manual/cfg-schedulers.rst
Fix NightlyTriggerable tests for sourcestamp sets.
Some renaming of triggerable local vars
Pass codebase as kwargs, base scheduler will catch codebases and set default value
Pass kwargs to base scheduler
Codebases documented for Trigger and Triggerable
Trigger step composes a set sourcestamps for the Triggerable scheduler.
Scheduler merges this set with its configuration (codebases) and creates new buildset.
Obsolete method removed, getAllSourceStamps not as generator
Extra reference for argument