Fix handling file uploads without file extensions

Uploading files without a filename extension caused a 500 server error
because it couldn't downcase a nil extension. Fixed #176.
Fixed adding fields when pasting content

When a user pastes a phone number (for example) into an empty contact
phone field, it would fail to trigger adding another blank field for the
user to continue adding content. Changing the javascript binding from
keypress to keyup successfully intercepts manual input and the paste
command. A check for field value length being greater than zero prevents
adding blank fields when simply tabbing into the field.

Resolves #175
Changed unbilled to pending, added to projects#index

Unbilled is not a word and confusing to users. Changed to pending. It is
the amount left to be invoiced on a project. Added pending calculation
to projects#index results.

Resolves #166
Added user name to contact and project

On a person, company, or project it shows who created the record.

Resolves #163
Added tags to csv export. Resolves #179
Wordsmithing note project dropdown. Resolves #174
Wordsmithing tag instructions to use space or enter

Resolves #171