Add test marks for various backend functionality

Auto-skip tests that depend on Backend interfaces not supported by a backend.

This adds 3 new marks:
* cipher (CipherBackend)
* hmac (HMACBackend)
* hash (HashBackend)

These should decorate any function/class that requires the presence of a specific backend.