Migrations to convert private column to visibility in snippets

Change private -> visibility in Snippet model

Added route for public snippets

Updated public layout to show snippets too

Use new visibility state for snippets

Allow editing of visibility of snippet

Added public snippet controller and views

Added default 'private' visibility to snippets

Adding some tests

Cleaning up some tests

Use new  scope for public snippets

Use snippet visibility partial

Cleaning up some tests