title: Python multiprocessing.Manager dict containing value a list
body: <p>I am sharing a dictionary between processes and each process inserts a entry into the dict, where the value for the keys in the dictionary can be a list or a gdb.Value instance. 
  Each processes is doing something like this</p>
  
  <pre><code>mydict["key"] = [[2], gdb.Value(someaddress), 3, 4]
  </code></pre>
  
  <p>When the above line is executed I get the below error, looks like its because i am inserting gdb.Value, this works if in case of a object() instance</p>
  
  <pre><code>Traceback (most recent call last):
    File "/test.py", line 631, in insert
      mydict["key"] = [[2], 1, 3, 4]
    File "&lt;string&gt;", line 2, in __setitem__
    File "/usr/lib/python2.7/multiprocessing/managers.py", line 774, in _callmethod
      raise convert_to_error(kind, result)
  RemoteError: 
  ---------------------------------------------------------------------------
  Traceback (most recent call last):
    File "/usr/lib/python2.7/multiprocessing/managers.py", line 240, in serve_client
      request = recv()
  TypeError: Value object creation takes only 1 argument
  </code></pre>
  
  <p>I see another issue too, looping over the dict gives me below error</p>
  
  <pre><code>Traceback (most recent call last):
    File "/test.py", line 1214, in &lt;module&gt;
      for item in mydict:
    File "&lt;string&gt;", line 2, in __getitem__
    File "/usr/lib/python2.7/multiprocessing/managers.py", line 774, in _callmethod
      raise convert_to_error(kind, result)
  </code></pre>