Refactor third-party caveat encoder/decoder to caveatid package.

Remove non-public-key third-party caveatid encoding for now (this can always be added
back later as an alternative implementation of bakery.CaveatId{Encoder,Decoder}).
Updated httpbakery & tests accordingly.
I'd make this much more transparent:

    // PublicKeyLocatorMap implements PublicKeyLocator for a map.
    // Each entry in the map holds a public key value for
    // a location named by the map key.
    type PublicKeyLocatorMap map[string] *PublicKey

    func (m PublicKeyLocatorMap) PublicKeyForLocation(loc string) *PublicKey {
        return m[loc]
    }