Create World

Moving Cucumber collaborator classes and global functions to CustomWorld.
Simplify FakeFile

Unnecessary to set :name and access :filename. We can do away with
the #name= method and just use #filename. Also, we only need the
setter for :contents.
Leverage World in step definitions

Using the #sessions World function instead of accessing @session
directly.
Alphabetize macros