Improve Ruby 1.8 compatibility

The specs still won't pass under Ruby 1.8, but IterableArray#shuffle!
during iteration will now work (it requires Array#sample, which wasn't
defined in Ruby 1.8).

This commit adds the Sampler subclass of Array to the gobal namespace.
This should probably be refactored as module or class namespaced within
IterableArray to tidy things up.
Add .yardoc to .gitignore
Improve Ruby 1.8 spec compatibility

The majority of the specs now pass using Ruby 1.8.7. Some methods (e.g.
:repeated_combination and :repeated_permutation) need to be guarded
against/removed as they are not defined in 1.8.

Need to do some aliasing of :sample with :choice when appropriate.
Make all specs pass in Ruby 1.8

Now filtering out several methods via line in spec_helper.rb and
slightly reducing test coverage (only in 1.8) of :shuffle!.

Still need to better namespace Sampler subclass of Array.