webadmin: introduce NullableFrontendActionAsyncCallback

The methods Frontend#RunAction expect to receive an instance of
IFrontendActionAsyncCallback. but there are multiple places where the
result of the action isn't interesting. in those cases an instance of
empty IFrontendActionAsyncCallback is created and passed to those
methods.

This patch introduce Frontend#NULLABLE_ASYNC_CALLBACK which is an
instance of Frontend#NullableFrontendActionAsyncCallback that we can
passe to Frontend#RunAction methods instead.

Using NULLABLE_ASYNC_CALLBACK instead of creating new empty
implementation each time is better because:
1. the code is more readable as each creation of empty implementation of
the callback interface is composed on several lines in the code
2. the code is more efficient as we create less objects

Change-Id: Ic0cf37a9f4ffb973a3791323596af6d97c7365cb
Signed-off-by: Arik Hadas <ahadas@redhat.com>