title: Erase element per key from multi_index_container with composite_key
body: <p>I have a <code>multi_index_container</code> with an index that is a <code>composite_key</code>.
  But I can not find a way to erase an element by its key.
  Please see below:</p>
  
  <pre><code>#include &lt;boost/multi_index_container.hpp&gt;
  #include &lt;boost/multi_index/member.hpp&gt;
  #include &lt;boost/multi_index/hashed_index.hpp&gt;
  #include &lt;boost/multi_index/composite_key.hpp&gt;
  
  using namespace boost::multi_index;
  
  struct Point
  {
      int x, y;
  };
  
  void func()
  {
    multi_index_container&lt;Point,indexed_by&lt;
      hashed_unique&lt;
        composite_key&lt;Point,
                      member&lt;Point,int,&amp;Point::x&gt;,
                      member&lt;Point,int,&amp;Point::y&gt; &gt;
        &gt; &gt; &gt; points;
  
    points.find( boost::make_tuple( 3, 3 ) );    // &lt;- works
    points.erase( boost::make_tuple( 3, 3 ) );   // &lt;- failes to compile
  }
  </code></pre>
  
  <p><code>erase(key)</code> works for indices that are not composite. But I am unable to find the correct  syntax for composite keys.</p>