Describe features and scenarios for first iteration

Features:
  record manager inputs file
  record manager views records sorted by last name descending

Steps are not yet defined.
Add pending step definitions for input feature
Fulfill step 'I have not started a session'

This step is empty, since the session has not been started.
Define and fulfill step "When I start a session..."

* Define the step: instantiate new Session with file
* Create RecordParser::Session class
* Configure Cucumber env.rb to load RecordParser::Session
Define remaining steps of "input file" scenario

* Define Output class and instantiate @fake_output cucumber collaborator.
* Define "Then I should see..." steps
* Alter RecordParser::Session to initialize with input and output
Split large scenario step into two steps

* Split "When I start a session with a file called..." into
  "When I start a session" and "When I input a file..."
* Define steps.
* Define Session#input as separate method from initialization.
Satisfy steps for "record manager inputs file" feature

* Add specs for Session#initialize and #input
* Add spec helper.
* Edit production code to pass specs and feature scenario steps
Move repeated expectation code to method
Use "And" for second "Then" clause
Create command line script to run app
Adjust whitespace
Add pending step definitions for feature

For feature: "record manager views records sorted by last name descending"
Split scenario step into smaller steps

The final step of this feature indicated a multi-line string as
expected output. This can be replaced by a series of steps, each
expecting a different line in sequence.
Create step file "output_steps"

This will be the home for steps dealing with the output domain of
the application.
Implement scenario steps for last name sorting
Use multi-line argument to scenario step
Satisfy feature "sort by last name descending"

* Write specs for Session#show
* Display sorted records in Session#show
* Configure RSpec to use shared examples with "it behaves like"
* Create FakeFile class as Cucumber test collaborator
* Edit input steps to use FakeFile instance
Add .gitignore

data/ will be used for sample input files.
Edit command line script

Adding call to Session#show to display results.
Access ARGF filename through #filename

The command-line script accesses the passed in file via ARGF, which
does not return the filename via #to_s. Therefore the FakeFile
definition and the file double in the unit specs were changed to
use the #filename method instead, with production code following.