Create a simple search function

Implement a simple search function that allows a user to type in a
keyword and query for books matching that keyword. Extremely basic.

Changes to files

-books_controller.rb
    * keep the controller simple and use Model's search method

-book.rb
    * create a scope 'search' that finds atitle by keyword
    * returns a collection of books if no keyword is provided
Update the simple search function

The problem with the last implementation was that queries were only
being made on the book's title. This implementation is a fuzzy search
that creates a new property for the Book Model called 'keywords'.

The Keywords property is a string containing all of the information
for a book (title, author, description). The query for a keyword is
performed on this column containing aggregated information in order
to improve performance.

Files changed
-book.rb
  * use a before_save callback to aggregate information before a record
    is stored in the database
  * The set_keywords method aggregates the information, downcases it,
    and separates it with spaces.
  * make callbacks protected for security and separation of concerns
  * modify the 'search' scope to perform a LIKE comparison against the
    keyword in sql.

-db/migrate/20140830034829_add_keywords_to_books.rb
  * adds the keywords column to the books table.

-db/schema.rb
  * bring schema up to date.
Merge pull request #3 from arcin/book_search

Book search