Improve `require` setup for depth/delta and associated test spec

This is the last remaining todo on the pull request https://github.com/twitter/algebird/pull/354 for `CMS[K]` functionality, see my (now hidden by the GitHub UI) [comment in the PR discussion](https://github.com/twitter/algebird/pull/354#discussion_r20573866).

This commit improves the input validation of the key CMS parameters (delta/depth, eps/width) to prevent the user from mistakenly passing in values that trigger type precision errors.  Without this PR, the user may pass in values that lead to the generation of counting tables with delta == 2 billion rows (`Max.IntValue`).
should we check that the result of ceil is <= Int.MaxValue? I know that overflow will go to Int.MaxValue, but while we are throwing exceptions, perhaps we should for some delta that is actually non-sensical in that it would require more than MaxValue depth, which we can't do in memory.