sdk: Introduce ApiBuilder

Currently the Api class has a collection of constructor, with different
combinations as parameters. Using this constructors renders code that is
difficult to read, as many of the parameters are usually null. For
example, the call to create a SSL connection without server certificate
validation looks like this:

  Api api = new Api(
    "https://fedora.example.com:443/ovirt-engine/api",
    "admin@internal",
    "******",
    null,
    null,
    null,
    null,
    true,
    true,
    false,
    true
  );

The nulls and the magic values in this type of call make it hard to
understand what it is really doing. To simplify this kind of calls this
patch introduces a new ApiBuilder class that can be used with a fluent
style. For example, for the same use case:

  Api api = new ApiBuilder()
    .url("https://fedora.example.com:443/ovirt-engine/api")
    .user("admin@internal")
    .password("******")
    .noHostVerification(true)
    .debug(true)
    .build();

This is much easier to read.

Change-Id: I251070c8888046bfbac90c16306168318528b464
Related-To: https://bugzilla.redhat.com/1145237
Signed-off-by: Juan Hernandez <juan.hernandez@redhat.com>