[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.
Looks like in the non-level-builder case this gets called with an implicitly `undefined` `builderDetails` but doesn't cause an error (and iterating `undefined` is a noop