Added Centos Support, Fixed CB Bug

* I added support for Centos.
* cb was never being called if no candidate matched, I fixed this by:
  * checking distros using async.
  * if no matching distro is found, we execute the cb as the final action (I used the library once to achieve this).