[URL Operation] Use the ivar directly in initialization

This is to prevent calling the custom setter inside initialization which
broadcasts KVO notifications and relies on existing state which isn't
yet setup.

Re #1845
[URL Operation] Don't allow transitioning to invalid states
Merge pull request #1878 from kylef/state_setter

[URL Operation] Use the ivar directly in initialization