Restructed ContextBlock initializer.

This is the new signature:

    def __init__(
        self,
        source_context_name=None,
        name=None,
        type_=None,
        alias=None,
        ):

The input parameters are now stored as read-only properties. This changes the
previous pattern that implemented many read / write properties on the class.

CHANGE: should be noted in the 2.15 change log.