Two separate examples for nil and :_separator
Changed spec for nil behaviour

The spec for the nil behaviour had two examples instead of one so I
deleted the less informative example.
Edited description that was too vague
Added 3 fine grained specs for optional first arg
Making some specs even simpler

The specs for :_alone and :_separator were simplified.
Added spec: Check for not equal

Previously I wrote a spec that tests, whether the element passed to the block is
== to the first argument given to chunk.
Now I added a spec that checks, whether the element passed to the block is not
equal to the first argument given to chunk.
I think this is a bit simpler than just testing whether dup was called on the
element.