Block Level Sharing in Galleries

![screen shot 2014-10-17 at 15 46 01](https://cloud.githubusercontent.com/assets/2236852/4680607/58efe2a0-560c-11e4-9c7e-233e8f4230e9.png)

1. Refactored block level sharing to abstract code for use on galleries and other content types in the future
2. Block level sharing is now available in galleries, including lightbox mode
As above, check if we need any campaign tracking on these. Also why are there duplicated in JS and Scala? Not very dry or maintainable.