add time parsing for before/after fields
Created by: camdencheek
This commit adds time parsing for before/after fields that attempts to replicate the parsing git does for its time arguments. This allows us to
- validate that the time is valid before attempting to run a git command, and
- use native go time types for the new commit/diff search path
It uses go-naturaldate to replicate the more human-like date formats git accepts like "2 hours ago".
Fixes #25176 (closed)