Decode cached subscription data as serialized options, allowing an empty
outbound list produced by include/exclude filters. Empty providers now
use the existing Compatible group fallback instead of failing startup.
Share outbound filtering and application between cache restoration and
subscription updates.
Some subscription panels (e.g. Remnawave with incy/happ integration)
require device-identification headers to return the real server list
instead of a dummy config. Add a 'headers' field to the remote provider
options so users can attach arbitrary HTTP headers to subscription
fetch requests.
Signed-off-by: Arsolitt <arsolitt@gmail.com>