Review - mvp presentation - do not merge

This method is too long and it's difficult to follow the logic. Think about factoring out some smaller methods. Good names can help reveal your intent.

Your approach to "signed_in?" is a little awkward. You check for a user in the session to figure out whether someone is signed in, then return true/false. This means you have to repeat the call to User.find(session[:user_id]) each time. You could instead implement a a ```def logged_in_user``` or similar in your base ApplicationController and then use that to figure out if someone is logged in and who they are in one call.

Finally, that refactored signed_in would be better placed in the ApplicationController base class rather than the application helper. Signed in-ness and http session management is a controller concern.