Automatically initialise elasticsearch.

Charmstore will now automatically initialise elasticsearch when starting up.
This ensures that elasticsearch will always have the correct index and mapping
configuration required for correct operation.
alternatively just define:

    var ErrNotFound = errgo.New("elasticsearch document not found")

and do:
     if !d.Found {
         return ErrNotFound
    }

alternatively, if you deem the message important enough:

    type NotFoundError struct {
        Index string
        Type string
        Id string
     }
     func (e *NotFoundError) Error() string {
          return fmt.Sprintf("%s/%s/%s not found", e.Index, e.Type, e.Id)
     }

Also, if you choose to stick with what you've got, the http status is not really appropriate here. Better would be params.ErrNotFound, which is our common currency for errors in the charm store, and can be used to derive http status codes if needed.