Add goals to project factories.
[+AS] Goals always have a project.

So put them in the factories!
[+AS] Add validations to GoalCompletions.

Don't allow goal_id or user_projects_id to be nil,
make sure there's only one for each.
[+AS] Implement UserProject#complete?

Checks for a goal completion for each project goal.
[+AS] Validate user & project on a user project.
[+AS] User#has_completed?(project)

Returns true if a user has a user project for that
project, which is #complete?
[+AS] User#working_on?(project)
[+AS] Project presenter.

Currently only works out the status of a project
& user combination - ready, in progress, finished
etc.
[+AS] UserProject#percentage_completion

Returns an integer between 0 and 100 that states
how many goal completions vs project goals there
are.
Rounds down.
[+AS] Build project interaction html in partials.

Not in helper methods.
Uses the status method of a project presenter to
render a partial with the correct button /text /
etc in it.
Project presenters need an accessor/finder for the
appropriate user_project to make accessing it in
the views easier.
[+AS] Tell a user when they've completed a project.
Add pry gem to development & test.
[+AS] Move project viewing feature -> project spec
[+AS] Add log_in helper for tests.

Just goes to the homepage and clicks the 'log in
via github' link.
[+AS] Add github_repo_url to user projects.
[+AS] Update user project github repo urls.

Can only add/edit a repo url for a project you've
started or finished.