bpf: Remove pinned program if it fails to load
bpf: Remove pinned program if it fails to load

The BPF library pins the program as a file under
/sys/fs/bpf/calico/xdp and then tries to attach the program to the
interface. If attaching fails, the program was still pinned and the
maps the program referenced were still hanging in kernel memory. This
scenario happens in internal dataplane when generic mode is not
allowed, but the interface does not support any other mode for
attaching the program.

neiljerram/felix,Metaswitch/calico,neiljerram/felix,neiljerram/felix,Metaswitch/calico,neiljerram/felix