A Survey and Analysis of Solutions to the Oblivious Memory Access Problem