cli: Check existence of collection before adding

Currently when the user types a command that contains a wrong
subcollection name we try to find the corresponding subcollection
appending "s" to the name given by the user and using it to call the
"getattr" method on the object. This fails with an internal Python error
message. For example, if the user types the following command:

  # add snapshots --description 'My snap' --vm-identifier myvm

The resulting message is the following:

  unknown error: 'VM' object has no attribute 'snapshotss'

This happens because we are not checking with "hasattr" before calling
"getattr".

This patch changes the add action implementation so that it checks for
the existence of the subcollection before trying to get it. The result
will be just a more meaningful message:

  error: cannot create "snapshots" because snapshotss collection is
  not available or given arguments not valid.

This is the same behaviour that we currently have for top level
collections.

Change-Id: I435314037808b99fe947ceded6d75e3129fa78e6
Bug-Url: https://bugzilla.redhat.com/1043500
Signed-off-by: Juan Hernandez <juan.hernandez@redhat.com>