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

Ok, I'll remove the comment.

Since static_assert is natively supported by C++11, I thought waiting for the migration might be better than implementing it myself temporarily. And to get the enum size, we could do this:
```
enum = {...CONTENT_TYPE_MEDIA, CONTENT_TYPE_SIZE = CONTENT_TYPE_MEDIA};
static_assert(map.size() == CONTENT_TYPE_SIZE)
```
The downside of course is that care will have to be taken to update CONTENT_TYPE_SIZE if the last value is changed. An alternative is
```
enum = {...CONTENT_TYPE_MEDIA, CONTENT_TYPE_LAST};
static_assert(map.size() == CONTENT_TYPE_LAST-1)
```