Universal Hopfield Networks: A General Framework for Single-Shot Associative Memory Models