Added EnsureIndex & Count Helpers

Hi there.

I've added 2 simple functions to the go-mongo driver.  

EnsureIndex - This allows for the addition of indexs to a given namespace with the specified properties & sort direction to be set.

Count - This runs a count command on a given collection for a spcified query.

I'm not sure if they are added to the right file (helpers.go) or if you would prefer them elsewhere. 

You might have a better way of extracting the float64 from the Count than my approach on line 204 : 

<pre> n := (map[string]interface{})(r)["n"].(float64)</pre>

It returns a map[string]interface{} has this structure :

<pre>r := map[string]interface{
    "n":11111,
    "ok":true|false,
}</pre>

I was also a bit apprehensive as to the extend you were testing the namespaces.  I've added a couple of tests for the structure, contains a "." but it's not the last char.  - I didn't want to bloat the code checking the namespace if there's no need.

I did start to add a findAndModify function but wasn't 100% sure how to fill the return type.   Here's what I have so far : 

<pre>func FindAndModify(conn Conn, namespace string, query interface{}, update interface{}, remove, getnew bool, options *FindOptions, result interface{}) os.Error {

    coll := namespace

    i := strings.Index(namespace, ".")
    if i &lt; = 0 || i == len(namespace) -1 {
        return -1, os.NewError("Invalid namespace")
    }
    coll = namespace[i+1:]

    cmd := Doc{
        {"findAndModify", coll},
        {"query", query},
        {"update", update},
        {"remove", remove},
        {"new", getnew},
    }

    r, err := RunCommand( conn, namespace, cmd)
    if err != nil {
        return -1, err
    }
    n := (map[string]interface{})(r)["value"].(???TYPE???)


}
</pre>

Here the <code>"value"</code> key of the map contains the modified result. 

Also the update parameter must take the form of : 

<pre>update := map[string]interface{}{
    ACTION:map[string]interface{}{
         "property":value,
    }
}
</pre>

Where <code>ACTION</code> is one of the modify operators.  For example <code>"$set" / "$inc"</code> - as listed here : http://www.mongodb.org/display/DOCS/Updating

Let me know if you want me to change anything before you pull.

Many thanks. 

Andy