Almost finishes cs3005 A3. Binary search still needs work.