Change -map: to not create an extra RACLiveSubscriber

Depends on #1376.

Cannot be merged until #1375 is fixed as it will trigger very often.
I just realised this optimisation breaks our evaluation / execution contract, and is exactly the kind of situation I was complaining about during the panel when I said "we painted ourselves in a corner by being very specific with how we evaluate our signals" or something to that effect.

This is a perfectly valid optimisation: if the subscriber doesn't care about `next`s there is no point in `-map:` processing them. Unfortunately it can break code that uses `-map:` in a side effecting way.