Fix a cluster of bugs in list EFI environment variables:
- Size returned for variable name is in bytes, not CHAR16 (the UEFI standard is unclear on this, where it is clear on the size of the variable).
- Dynamically allocate the buffers so we can grow them if someone defines a super-long variable name.
These two fixes allow me to examine all the variables in my BIOS and
also removes the repeated printing of variables.