create script to generate admin config yml file
refactor create_admin.rb
get admin setup working
get create_admin tests working

Install Aruba and write tests for create_admin.rb.

There is a problem with Aruba:
https://github.com/zaaanderson/glittery/issues/1
bad refactoring attempt: make Artist a Singleton

Attempt to fix the problem of using a global reference to Artist.first
as a way to make the app single-usered. Do this by giving Artist
Singleton-like behavior.

At first, I didn't realize that I was giving Artist Singleton-like
behavior. When I realized this, I also quickly realized that it was no
better than my previous usage of a global variable. As a result, I am
going to do away with most of the code in this commit. The silver lining
is that I now have a better understanding of why globals are bad and how
they've been causing me all sorts of problems I didn't notice before.
fix Gemfile and features/ and create Admin model

Add "require: false" after cucumber-rails in Gemfile to stop the
"cucumber-rails required outside of env.rb" message.

Move files out of subdirectories in features/ and
features/step_definitions. This was breaking Cucumber's ability to find
step definitions for features when individual features were run. The
app is not large enough to require organizational subdirectories for
features anyway.

Create the basic code for the Admin model. It currently has a username
and a password.
start to refactor changing password feature

Rename artist_changes_password_steps to admin_... to bring in line with
renamed feature file. Begin to refactor feature file: group repetitive
"Given [logged in]" steps into a single step under a Background heading,
remove @password_sensitive tag in preperation for making test work in
isolation, etc.
set up Spork
add admin unit tests, password digest, validations
authentication tests
get authentication working again, through Admin!

Successfully move authentication out of Artist and into Admin. This is a
major step for proper separation of concerns between Artist and Admin.

Now, instead of tying the app to a global representation of the first
Artist object in the table, the app implements single-user functionality
by auto-creating an Admin with the login information from
config/admin.yml (if such an Admin does not already exist in the
database) when the user accesses the sign-in page. However, the Admin
constructor just requires a username and password, not a YAML file. This
allows for the creation of mock Admins in tests instead of coupling the
tests to the contents of config/admin.yml. It also will make creating a
multi-user version of the app fairly trivial if that ever becomes
desirable.
add Cucumber helper to pass admin between step def

Also set the sign_in method's perm_flag default value to false instead
of nil for stylistic reasons (it behaves as a boolean flag).
set up Spork for RSPec
create assoc. between Admin and Artist

Admin now has_one Artist; Artist belongs_to Admin. Each is an inverse_of
the other.
get change password working again!

The change password form is fully functional again. It now uses Admin.

There is now an Admin controller.

Also, DRY up the step definitions a bit by extracting commonly used code
into helper methods, stored in world.rb.
Admin authentication tests

Integration tests for logging in now target Admin. There is only a test
for incorrect login because correct login is tested elsewhere (a
reorganization may be of interest during a later refactoring pass).
Admin logout tests

Get Admin logout tests working. Also make a file for shared step
definitions. Do a bit of test refactoring.