base RequestBank will only contain heap, all other functions will be in child template classes
changed typedef and added alter_key to handle both increase and decrease of key
further implementation