Previously, code was organized into projects that were too granular.
This resulted in slower solution builds in addition to added complexity.
Most class library projects have been consolidated into a single
project, Recyclarr.Core.
At some point in the past, Radarr altered its Preferred upper limit to
399 (from 395). As a result, these upper limits can no longer be
hard-coded the same way for all services. A new design has been
implemented to support distinct max and preferred limits for each
service.
To simplify logic in the system, a child lifetime scope is created for
each distinct configuration instance that is processed by Recyclarr. The
main driver for this is to avoid objects being reused between instances
and thus needing setup & teardown logic to deal with state.