Readonly mounts - fixes 93

Fixes #93.

Depends on #598; tests should pass once #602 is merged and this branch is merged forward.
I'm not sure how important it is, but shouldn't we be upcalling and returning the result of  `Service.startService` . In fact it doesn't return anything, but it does seem to be responsible for setting the `running` attribute.