grub: Add EFI support (improved).

Fixes #110.

This is based on Daniel Hillenbrand's submissions, but it makes the same
adjustments already done in the bootloader module that's already merged:

* Put detect_firmware_type into the grub module itself until a better
  place is found. (EDIT: Now moved to the prepare module as requested.)

* Get the distribution name from the branding configuration and use the
  file_name_sanitizer on it.

* Get the grub-install executable name from the module configuration.

It also fixes a Python syntax error in the original submission.

<!---
@huboard:{"milestone_order":23.375}
-->