Added method to find optimal reserve for bidders and method to run optimal auction
changed optimal auction based on the fact that array.remove removes first occurance
merged changes