Renamed field _isValueCreated to _isCompleted

It was named to match Lazy<T> but now it will match Task naming.
IsFaulted implementation fixed.

You see that? I make those mistakes! -_-
Renamed field _isValueCreated to _isCompleted

For consistency.
Work no longer depends on PromiseNeedle

This opens room to implement Cancel in the future