Fix header: "Observable-Swift" -> "Observable"
Add `EventReference` in addition to `Event`
Change event type in Observables to `EventReference<ValueChange<T>>`

- adds a struct allowing for .newValue .oldValue lookup
- changes events to reference types, thus allowing to add subscriptions without mutating
- rename ObservableReference to ObservableProxy and
  WritableObservableReference to ObservableReference
  (consistent naming with Events)
- .unshare is now used to unshare events/observers after copying Observable