fix passing of properties during cast creation and improve `CastCollection.castswhere`

now castswhere can take a set of possible values and returns all casts that
match any of them