Discussion boards, shares, and course group permissions.

This branch has feature-shares-ucla and feature-discussion-board-ucla pulled into it, because it built on some of their features.

Refs issues #226, #229, #232, #480 
Refs pull requests #428, #451 

Changes to the Shares module:
* You can now add subfolders.
* You can now move files/folders/links with drag and drop.
* You can now add links to folders in addition to files.
* Files and links can be hidden from students.
* You can restrict files/folders/links to course groups.

Changes to the Discussions module:
* You can now restrict discussion boards to course groups, there is an entry in `community_acl` for each board and an entry in `community_acl_groups` for each course group. There is a migration page at www-root/admin/communities?section=migrate that will convert the boards.
* You can now group boards into categories and have them accordion together, it uses jQuery UI. If no categories are added then the boards will act as they did in the past.
* You can now upload files to the discussion boards, the permissions on the storage folder might need to be changed.
* Profile photos are added to the view-post page, if the user is at privacy level 1 then the photo isn't shown to regular users, just to Admins and themselves.