The addon manager readme states
> - Addons with label `addonmanager.kubernetes.io/mode=EnsureExists` will be checked for
> existence only. Users can edit these addons as they want.
However, the start_addon function was using `kubectl apply` to create
resources regardless of mode. This change switches between `kubectl
create` and `kubectl apply` depending on mode.
Additionally implemented tests for create_resource fn
- Refactor functions and main executable
- Quick tests in bash
- Tests for Reconcile, EnsureExists behavior
- Check for completeness with multi resource configs