Expose the ZabConfiguration to user

Currently we set the configuration by using Properties. I'd prefer exposing ZabConfig to user instead of using Properties (like Copycat) because : 

- It's more explicit that which configuration parameter that users can use.
- Setting configuration with Properties is error prone (e.g. typo, wrong parameter type)