Force a specific rspec version and gem when generating website rdoc

This is mostly for my personal benefit, so I don't actually
screw up when updating the website documentation.
Dataset #select_map, #select_order_map, and #get no longer support a plain string inside an array of arguments

Before, they supported a plain string only by accident, since
recursion was used and they support strings inside of
Identifier and similar expression objects.

Basically, we need to be able to guess the symbol that will be
used in the returned hash, and if a plain string is used, it is
unlikely the database will use that string as the returned
column name.
Move Dataset#extension! definition to the mutation file
Add Dataset#first!, like #first, but raising a Sequel::NoMatchingRow exception instead of returning nil

In cases where you are expecting a row to exist, and the lack
of a row would be an exceptional case, this method is helpful
for two reasons:

1) It's less verbose.
2) It raises a specific error class, which libraries that
   interact with Sequel can handle specially (e.g. using
   a 404 error instead of a 500 error on a website).
Add Dataset#with_pk! for model datasets, like #with_pk, but raising instead of returning nil