Extend mongodb module with cluster features

Part of https://github.com/cargomedia/puppet-cargomedia/issues/414
Cont. of https://github.com/cargomedia/puppet-packages/pull/565

To do:
- general
 - [x] add user
 - [x] add db
- replication
 - [x] init replica (for specific node to be primary)
 - [x] add replica member (detect primary, add member)
 - [x] add replica arbiter (detect primary, add arbiter)
- sharding
 - [x] add shard (login to mongos, add shard as db or replica primary node)
 - [x] enable sharding (login to mongos, enable sharding for db)


Also
- [x] add roles
- [x] more tests