Issue 1286 - Add a content type enum for use with FilterEngine

The current code should already handle the case where client code passes `CONTENT_TYPE_LAST` to `Matches()`, since we won't be storing its string representation in the map. However if clients use it to get the enum size for whatever reason, we have a problem, since the ABI would change on adding new values. Perhaps we should use a macro to define the enum and map together :P