misc: Document and test SamplingMethod

SamplingMethod implementation was confusing, undocumented and untested.
This patch document why it must work as it its implemented, and add
tests verifying its behavior.

Change-Id: I8da1a220643485e5ce650693d5f3822f2e5fcc05
Signed-off-by: Nir Soffer <nsoffer@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/28683
Reviewed-by: Yaniv Bronhaim <ybronhei@redhat.com>
Reviewed-by: Saggi Mizrahi <smizrahi@redhat.com>