Added two new exceptions
BadRequestException that allows changing the HTTP code returned for an exception (in both controller & API).
This allows us to avoid certain failures caused by invalid input and correctly report the error, w/o triggering a 500 HTTP code (that could potentially also create an email alert?).
Used in ScheduledReports API to check for multiple periods.
@diosmosis this one needs a rebase / merge to solve the conflicts
Left 2 comments, otherwise good to merge when tests pass 👍