Determining |Vub|: a Review of Theory and Experiment