default kwargs are evaluated at definition time

This stackoverflow question covers the topic pretty well:

    http://stackoverflow.com/q/1132941/1547030

From docs.python.org:

    Default parameter values are evaluated when the function definition is
    executed. This means that the expression is evaluated once, when the
    function is defined, and that the same “pre-computed” value is used for
    each call. This is especially important to understand when a default
    parameter is a mutable object, such as a list or a dictionary: if the
    function modifies the object (e.g. by appending an item to a list), the
    default value is in effect modified. This is generally not what was
    intended. A way around this is to use None as the default, and
    explicitly test for it in the body of the function
add Realtime Register and corresponding tests
correct optional organization
Merge pull request #31 from manuelRiel/develop

Realtime Register support
Make 'state' an optional field for Realtime Register.
Realtime Register: Make phone optional, allow for multiple address lines, and make parsing rules consistent for all contact types.
Version bump
Release 2.4.2