Remove the use of exceptions to denote a return value of false.

The match method can be called in excess of 100k times, so these short lived objects can be very expensive. Instead, use many return codes.
certificate.match will now only accept oids.

While this is less flexible, the only place this is called does a convert from string to oid so the second isinstance is redundent
Store off the len of the oid to save recalculating it more that once
Several small tweaks:

Lassiez-faire initialize the len and the string representation
Lassiez-faire initialize the hash value
Only sort the keyset if the find is for more than one item.
Only look for a single item as it is quicker and all we care about is zero or not zero
Do not retrieve the value unless the match is valid
stylish
Some more changes

1) Address Dgoodwins concerns about sort oder. Only ignore where it makes sense.
2) Stop creating short lived oids in the match command
3) Use an integer to store then number of matched found to ignore using the len command
Fix up the unit tests and add new OID unit tests
Merge pull request #51 from candlepin/bkearney/perf

Python-RHSM performance improvements