Changing Behavior constructor logic

The constructor that accepts just an initial value has been converted to
a time varying Behavior, instead of a constant behavior. This is because
it's more common for a Behavior to be varying that constant. A static
method Behavior<TA>.Constant(TA initValue) is provided for the cases
where a constant Behavior is required.