add constraint to template arguments of {stable,}partitionPosition
make sure that the predicate given to {stable,}partitionPosition can be invoked, and will return bool
make sure that the predicate given to {stable,}partitionPosition can be invoked, and will return bool