main(): free(NULL) is valid; simplify the code

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
esl_htable_create(): create empty hash table for (dbx_len == 0)

In one of the next patches, a call to esl_htable_create() will become
possible with (dbx_len == 0). Treat this condition as

  dbx entirely absent

and create an empty hash table accordingly.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
dump_dbx(): don't choke on (len == 0)

In the next patch, a call to dump_dbx() with (len == 0) will become
possible. Treat this condition as

  dbx entirely absent

and just return early, with success.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
main(): apply updates even when dbx isn't there yet

We should be able to apply updates when the platform has no dbx variable
yet. Accept the absence of dbx when the user requests --apply (with or
without --list),
- keeping the initial NULL / zero values of "dbx_buffer" and "dbx_len",
  respectively,
- and setting "attributes" to NV+BS+RT+AT+AppendWrite, as documented eg.
  under <http://www.uefi.org/revocationlistfile>.

Note that this depends on the following efivar commit:

  commit 5a43dce1ef31d3d4927a4c67400a7e33ff8afe75
  Author: Peter Jones <pjones@redhat.com>
  Date:   Fri Aug 22 12:23:28 2014 -0400

      Revert "Only open with O_CREAT if we're not using
      EFI_VARIABLE_APPEND_WRITE."

      This reverts commit 7153d0dbb7d1d36b1712dfa91e2e62043880fdfa.

which is part of efivar-0.12.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Bump version to 0.5

Signed-off-by: Peter Jones <pjones@redhat.com>