feat: add likely/unlikely macros
They are used to help the branch predictions, they shouldn't be used that much, profiling is probably a better method.