Describe feature: sorting by gender and last name

This feature will be included in the second iteration.
Replace generic feature step with two specific steps

When the application only sorted one way, we only needed a step
called "My records are sorted".  In the upcoming release, the
app will sort in more than one way.  Hence, replacing this step
with two that specify sorting in different ways.

Also, it is expected that the record manager will choose the
sorting method, hence the "I choose..." form.

* This commit breaks the "record manager views records sorted
  by last name descending" feature of the previous release, since
  new code (Session#show_by_last_name_descending) is referenced but
  not implemented.
Rename Session#show to #show_by_last_name_descending

This fixes the feature broken when widening app behavior, in the
previous commit.
Add empty Session#show_by_gender_and_last_name

This method definition is needed to run all Cucumber features with
logical failures instead of error failures.
Restrict scope of shared examples

Restricting scope to the contexts where they are used.
Handle minimum input for #show_by_gender_and_last_name

Allow Session#show_by_gender_and_last_name to handle a record set
with only one record.

Also, organize shared examples across specs for both Session#show...
methods.
Implement feature: sort by gender and last name

All features defined and passing.
Refactor to express intent

Separate logic to break records into "gender_sets" by creating
private method.

Current code assumes that:
* Each record can have one of two genders: feminine and non-feminine
* Feminine gender is signified by value 'F'
* Non-feminine gender is signified by any value other than 'F'
Update README.md

Add assumptions.
Update executable
Alter feature scenarios to label sorted output

This breaks two features:
* Record Manager views records sorted by gender and last name.
* Record Manager views records sorted by last name descending.
Implement features under new scenarios

Added the heading for each sorted set.
Amend step description to fit current behavior

At present, the behavior implemented does not include the notion
of Record Managers choosing which sorting to view. Since this is
an involved enhancement, the step is hereby amended to more accurately
describe the implemented feature, with choosing to be implemented
later.
Alter scenarios to ensure ordered output

The new syntax for these scenarios requires that the heading is
printed before the records; the last one did not.
Add blank lines to feature scenario expected output

The blank lines will delimit the sorted record sets and make output
easier to read.

* This change breaks two implemented features.
Implement blank line before heading.

All features passing.
Extract class Sorter
Separate Session and Sorter specs

When we extracted Sorter, our unit specs for Session became integration
specs. This commit separates them into true unit specs for both
Session and Sorter.
Alphabetize methods
Merge pull request #3 from amar47shah/gender-and-name-sort

Define and implement feature: sort by gender and last name