Adds missing space to item detail
Adds public boolean value to Item model

Public replaces the "shared with user_id -1" as a means for making an
item globally visible.

Also allows non-owner to favorite and unfavorite item.
Filters favorite visibility on item's visibility

If an item is favorited by a user, but is then no longer visible to the
user (made private, or unshared), the favorite will not be visible any
more. This won't destroy the favorite, and it will reappear if the item
is shared or made public again.

Also fixes some exceptions thrown if a user tries to view someone else's
project.