Adds compatibility of benchmark.py with current version of autocomplete

*fixes a few minor bugs (from syntax errors, etc.)
Changes main to be autocomplete functionality (instead of corpus construction)
Adds separate file for benchmarking trie search vs. linear search

*allows benchmark.py to be a general purpose module
Converts the value in the log to a list

*each trial using 'timed' is appended to the list of times in the log for that function
*adds API support for calling benchmark with a single function (now a single
function needn't be input as a list)
Adds support for multiple trials:

*adds trials parameter to benchmark function
*adds statsreport reporting function for getting stats based on multiple trials
Cleans up naming, comments and removes unnecessary imports

*reverts __main__ back to unittest.main()
Adds README for benchmarking module

*includes examples for practical use
Refactors the searchbm report fn to use its own custom along with the simplereport

*adds a winner and wintime to the simplereport fn
*adds _simple_min fn which gives the values for the winner and wintime
*alters report fn in searchbm to accept a corpus (uses corpus for attribute printout)
removed a pdb.set_trace()