New MongoDB formula, rewritten to use official packages and APT repo

Mostly a rewrite to use the official mongodb packages so we can use 2.6.5.

Also have tidied up and automated (tho still needs work) the admin user creation, and normal user creation.

There are helpers for replica set creation, and reindexing, recovery.

Have we tried the [mongodb_user](http://docs.saltstack.com/en/latest/ref/states/all/salt.states.mongodb_user.html#module-salt.states.mongodb_user) state here? I think the only reason we didn't was the problem of creating the initial admin user.

```yaml
{% for dbname, db_def in mongodb.configuration.databases.iteritems() %}
{{ db_def.owner_user }}_on_{{ dbname }}:
  mongodb_user.present:
    - name: "{{ db_def.owner_user }}"
    - passwd: "{{ db_def.owner_password }}"
    {% if 'mongodb_admin_password' in pillar %}
    - user: admin
    - password: {{ pillar['mongodb_admin_password'] }}
    {% endif %}
{% endfor}

This has the advantage of being idempotent. If we can't use that state then please add an only/unless guard
```