The 'name' field for some resources is called something different,
for example 'display_name' for volumes. There was a hack in our
find method to search for display_name as well.
This change adds a new class variable to a Resource to tell it
which attribute to use for searching by name. Volumes and snapshots
were switched to use 'display_name' and hypervisors were switched
to use 'hypervisor_hostname'.
Tests fixed and added.
Fixes bug 1034536
Change-Id: I1b4fb969d42c59d1ab8e3e275a563bbe158e9264