Null values are allowed in a sourcedict

From discussion we determined that a null key is no good, but a null
value is okay. As we've specified that everything is strings, a null
value is coerced to zero-length string and then treated accordingly.
Merge pull request #9 from anchor/barney-allow-null-sourcedict-values

Null values are allowed in a sourcedict
Merge branch 'master' into six-port
Fix string formatting of `address` in debug output

There's no guarantees that address is a number, the test coverage suite
showed this manifesting when certain expected breakage wasn't occurring.

Explicitly expecting a number (%d) was causing an exception to be thrown
early, meaning we don't hit the case where bad input is fed to
marquise_update_source() in the C code. Print as a string (%s) instead.

I've left other instances of %d intact, where the value is guaranteed to
only ever be an int (FFI.errno and the C return values).