change how we test the existence of attribute

In 5.6.1, `CollectionAttributeKey::getByHandle()` returns a different result than it used to when no attribute key exists for a handle (it used to return null, now returns integer -1 -- wtf?!?!)