Poet typeahead and poet search

Add search method to poets repository, and expose it at the /poet?q
endpoint. It finds the first 10 poets that start with the specified
name.

Add a Poet search input to the new poem form and hook it up to the
search using the twitter typeahead library. Poets are added to a ul
but are not yet associated with the poem when it is saved.
Save poet to poem associations

Create a hidden input with the poet id when a poet is added to the
typeahead. An array of poet ids is submitted to the server.

New addPoets method on the poemsRepository accepts an array of poet_ids
and uses postgres' spiffy ANY operator to insert all poet_ids in a single
SQL statement.
Fix bug creating poem with 0 or 1 poets

When a poem is created with 0 poets, the poets form field is undefined.
When a poem is created with 1 poet, the poets form field is an integer.
Convert the value to an array with the handy [].concat function.
Exclude poets from typeahead that have already been added to the poem.

Use the typeahead filter function to exclude items that are already in the list. This approach has the limitation of potentially returning fewer than 10 results. In a worst-case scenario, the top 10 poets starting with a given letter could be added to the poem, and 0 results would be returned! Another approach could be to pass the list of poets to the server and exclude them with a SQL query. This would probably be prohibatively expensive from a performance standpoint.
Add the user to the new poem by default.

Render the user in the poet list on the new poem page. Remove the server-side logic that adds the current user to the poem, as this is effectively done on the client now. There is now some conceptual duplication between the server and the client, because the jade template and the jquery logic both need to know the structure of the li and the containing input.

Also changed the wording of the placeholder to "Add other poets"
Merge pull request #19 from jimguys/add-poets-to-poem

Add poets to poem