Fixing handling of diskless instances

There were several checks that `all(...)` disks were of a certain type.
This leads to (often) wrong behaviour: `all([])` is true, so diskless
instances are all kinds of types. This fixes the issue by introducing
the helper functions AllDisksOfType and AnyDisksOfType.

Signed-off-by: Aaron Karper <akarper@google.com>
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>