Make pygrub, eliloader and hvmloader optional

It shouldn't be fatal if these don't exist, since they only affect
certain kinds of VMs:
  pygrub: only needed for booting PV
  eliloader: only needed for installing from the Linux templates
  hvmloader: only needed for booting HVM

Instead of failing on startup, we will fail if the user tries to use
one of these features.

Fixes #65

Signed-off-by: David Scott <dave.scott@citrix.com>
Make vncterm optional

Already if vncterm fails then it's treated as a soft failure. Some
people prefer to use raw xenconsole anyway.

Signed-off-by: David Scott <dave.scott@citrix.com>