add support for the `cold` function attribute

This allows a function to marked as infrequently called, resulting in
any branch calling it to be considered colder.