intbitset: initialization from iterator

* Fixes initialization from an iterator, by peeking
  for the iterator protocol signature in the object
  used to initialize an intbitset data structure thus
  avoiding calling max() in case pre-allocation is
  needed, which would consume the whole iterator
  before allowing the data to be extracted (and
  that would crash when max() is called on an
  empty iterator).
  (closes #1698)

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>