[finishes #73238226]: enable re-sharing of modified shared levels

Related to https://github.com/code-dot-org/dashboard/pull/822

Previously, we wouldn't let the user "report" a program to the service if they were viewing shared program (/sh/<num> URL). Additionally, the explicit "share" button was never displayed for bounce/flappy/studio when on a "share page".

Now that the dashboard can handle this scenario by providing a useful callback URL to report data to, I removed those restrictions in the blockly apps.

The net result is that you can "mod" other people's programs and share them again. And you can also use this as a simple save feature when you are working on a complex program. Each time you share, it gives you a new link to use when you want to continue working later.
Hah, this code churn is a good example of why [flattening conditionals](http://blog.bengarney.com/2013/05/11/flatten-your-conditionals/) is a good idea