title: How to add an edge in Python Gremlin variant
body: <p>I'm trying to create a graph using gremlin-python, but I can't seem to work out how to add an edge.</p>
  
  <p>Using the standard Gremlin console I can do the following:</p>
  
  <pre><code>gremlin&gt; a = g.addV().next()
  ==&gt;v[0]
  gremlin&gt; b = g.addV().next()
  ==&gt;v[1]
  gremlin&gt; g.V()
  ==&gt;v[0]
  ==&gt;v[1]
  gremlin&gt; a.addEdge('conn', b)
  ==&gt;e[2][0-conn-&gt;1]
  gremlin&gt; g.E()
  ==&gt;e[2][0-conn-&gt;1]
  gremlin&gt; 
  </code></pre>
  
  <p>But when trying to do the same via python connected to gremlin server, I can't seem to do the same:</p>
  
  <pre><code>&gt;&gt;&gt; a = g.addV().next()
  &gt;&gt;&gt; b = g.addV().next()
  &gt;&gt;&gt; g.V().toList()
  [v[1519], v[1520]]
  &gt;&gt;&gt; a.addEdge('conn', b)
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  AttributeError: 'Vertex' object has no attribute 'addEdge'
  </code></pre>
  
  <p>I've tried various incantations, but can't seem to work it out, and can't find any examples anywhere. Also, I see reference in the Gremlin docs to both <code>addE</code> and <code>addEdge</code> but can't work out what the difference is (neither appear to work above).</p>
  
  <p>Edit: Getting a bit further, but still no luck. It seems <code>GraphTraversal.addE()</code> exists, so if I don't call <code>next()</code> then I can call <code>addE</code>... but still I don't seem to be able to get the arguments something it likes.</p>
  
  <pre><code>&gt;&gt;&gt; a = g.addV()
  &gt;&gt;&gt; b = g.addV()
  &gt;&gt;&gt; a.addE('foo', b).toList()
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "/Development/matt/lib/python2.7/site-packages/gremlin_python/process/traversal.py", line 52, in toList
      return list(iter(self))
    File "/Development/matt/lib/python2.7/site-packages/gremlin_python/process/traversal.py", line 70, in next
      return self.__next__()
    File "/Development/matt/lib/python2.7/site-packages/gremlin_python/process/traversal.py", line 43, in __next__
      self.traversal_strategies.apply_strategies(self)
    File "/Development/matt/lib/python2.7/site-packages/gremlin_python/process/traversal.py", line 284, in apply_strategies
      traversal_strategy.apply(traversal)
    File "/Development/matt/lib/python2.7/site-packages/gremlin_python/driver/remote_connection.py", line 95, in apply
      remote_traversal = self.remote_connection.submit(traversal.bytecode)
    File "/Development/matt/lib/python2.7/site-packages/gremlin_python/driver/driver_remote_connection.py", line 53, in submit
      traversers = self._loop.run_sync(lambda: self.submit_traversal_bytecode(request_id, bytecode))
    File "/Development/matt/lib/python2.7/site-packages/tornado/ioloop.py", line 457, in run_sync
      return future_cell[0].result()
    File "/Development/matt/lib/python2.7/site-packages/tornado/concurrent.py", line 237, in result
      raise_exc_info(self._exc_info)
    File "/Development/matt/lib/python2.7/site-packages/tornado/gen.py", line 1021, in run
      yielded = self.gen.throw(*exc_info)
    File "/Development/matt/lib/python2.7/site-packages/gremlin_python/driver/driver_remote_connection.py", line 73, in submit_traversal_bytecode
      traversers = yield self._execute_message(message)
    File "/Development/matt/lib/python2.7/site-packages/tornado/gen.py", line 1015, in run
      value = future.result()
    File "/Development/matt/lib/python2.7/site-packages/tornado/concurrent.py", line 237, in result
      raise_exc_info(self._exc_info)
    File "/Development/matt/lib/python2.7/site-packages/tornado/gen.py", line 1021, in run
      yielded = self.gen.throw(*exc_info)
    File "/Development/matt/lib/python2.7/site-packages/gremlin_python/driver/driver_remote_connection.py", line 149, in _execute_message
      recv_message = yield response.receive()
    File "/Development/matt/lib/python2.7/site-packages/tornado/gen.py", line 1015, in run
      value = future.result()
    File "/Development/matt/lib/python2.7/site-packages/tornado/concurrent.py", line 237, in result
      raise_exc_info(self._exc_info)
    File "/Development/matt/lib/python2.7/site-packages/tornado/gen.py", line 1024, in run
      yielded = self.gen.send(value)
    File "/Development/matt/lib/python2.7/site-packages/gremlin_python/driver/driver_remote_connection.py", line 236, in receive
      "{0}: {1}".format(status_code, recv_message["status"]["message"]))
  gremlin_python.driver.driver_remote_connection.GremlinServerError: 599: Could not locate method: DefaultGraphTraversal.addE([foo, [AddVertexStep({})]])
  </code></pre>