Gracefully fail when `encrypted_data_bag_secret` is not set

This commit also introduces the ability to pass a custom secret key to the
encrypted_data_bag methods.