Consider question position when generating UUIDs.

Closes #6.

Consider the following survey:

    survey "foo" do
      section "Blood draw" do
        q "Did the participant consent?"
        a "Yes"
        a "No"
      end

      section "Brain biopsy" do
        q "Did the participant consent?"
        a "Yes"
        a "No"
      end
    end

Prior to this commit, the two questions would have the same UUID.
However, they aren't the same question.

This commit fixes this issue in a general manner by acknowledging
the fact that no two questions can occupy the same space, using that to
generate a sequence number for each question, and using that sequence
number as part of UUID generation.

This commit deviates slightly from the suggested fix in that it uses a
sequence that is global to the _compilation process_, not just the
survey.  This does not violate the "sequence number must be unique in
the survey" requirement, though, and Ruby's automatic bignum promotion
ought to help us squeak by in the case where someone ends up shoving
in > (2^62) - 1 (or 2^30 - 1 for 32-bit systems) questions in a single
compilation input.