Don't cache commits as aggressively if 'branch' and 'start' aren't provided.

The code for getting the list of commits would cache for one day, but we only
want to do that if the branch and start commit are explicitly specified. If
not, we should still cache but for a much shorter period (to avoid the list
being up to one day out of date). This change fixes that.

Testing done:
- Tested svn post-commit list.
- Ran unit tests.

Fixes bug 3511.

Reviewed at https://reviews.reviewboard.org/r/6201/
Merge branch 'release-2.0.x'