UiAction: Don't create a new instance each time it is used

UiActions don't maintain state and can be therefore moved in Singleton
scope.

Change-Id: I27224edd37140dc7e20acef0e5d0b397aa661a7a
CommitBox: Remove unused import

Change-Id: Ic751a8fb1ceafa8821e1b57c9abb5c03afa390af
Lucene: Use stored ChangedLines values

This saves a persistent cache lookup per query result, which is
roughly equivalent to one database lookup if the in-memory cache is
cold.

Change-Id: Ic2d82a9635e16b205b3cc90c2d860b821c628cf5
Return 304 for not modified SmallResources

When in-memory cached resources are requested using
If-Modified-Since HTTP header, we can then safely
return a 304 without having to transfer the entire
payload over the network.

This change completes the fix [1]: now that we have
the lastModified date into the SmallResource object
we can use it to actually save bandwidth and allow
better client response time.

[1] https://gerrit-review.googlesource.com/#/c/57213/

Change-Id: If268acacc167a2062260008a3b9767e055970d43
Merge "UiAction: Don't create a new instance each time it is used"
Merge "Return 304 for not modified SmallResources"