Mark model as shared after adding to the cache.

Now that the IsShared property is set to true after the model has been
added to the cache, the event handlers can be sure that the model that
just became shared is present in the cache as well.
Remove useless delay when no running time entries.

When there were no running time entries the EnsureLiveDuration would
still wait 500ms, during which time there could've been added some new
running time entries, but were in fact ignored due to that delay.
Fix timer sync issue when continuing a TE.

When there was a running time entry and the user continued another one
during that, the timer failed to pickup on the new time entry as it
expected that the IsRunning of the other entries would be set to false
before the IsRunning is set to true on the new one. In reality there are
two time entries running for a brief moment before the old one is
stopped.
Add INTERNET permission to manifest.