Don't return nil for current_user

Is better to return a user instead, and we can just call `logged_in?` method to
know if the "user" is a guest or not.
Move solutions form to its own partial
Letting users edit solutions.

They can only edit the ones they own, but right now we're showing the button for
all the solutions, which is not ideal. It is even less ideal that when the user
tries to edit a solution we raise an exception that we never catch.
Make users list look a little bit better & user real counters.