Generate all the benchmarks to run.

Instead of requiring the need to maintain a list of all the benchmarks,
add a programmatic way to generate all of the benchmarks.

This generation runs the benchmarks in alphabetical order.

Add a new macro BIONIC_BENCHMARK_WITH_ARG that will be the default argument
to pass to the benchmark. Change the benchmarks that require default arguments.

Add a small example xml file, and remove the full.xml/host.xml files.

Update readme.

Test: Ran new unit tests, verified all tests are added.
Change-Id: I8036daeae7635393222a7a92d18f34119adba745
diff --git a/benchmarks/stdlib_benchmark.cpp b/benchmarks/stdlib_benchmark.cpp
index eb325ab..0bee683 100644
--- a/benchmarks/stdlib_benchmark.cpp
+++ b/benchmarks/stdlib_benchmark.cpp
@@ -33,7 +33,7 @@
 
   state.SetBytesProcessed(uint64_t(state.iterations()) * uint64_t(nbytes));
 }
-BIONIC_BENCHMARK(BM_stdlib_malloc_free);
+BIONIC_BENCHMARK_WITH_ARG(BM_stdlib_malloc_free, "AT_COMMON_SIZES");
 
 static void BM_stdlib_mbstowcs(benchmark::State& state) {
   const size_t buf_alignment = state.range(0);
@@ -76,7 +76,7 @@
 
   state.SetBytesProcessed(uint64_t(state.iterations()) * uint64_t(500000));
 }
-BIONIC_BENCHMARK(BM_stdlib_mbstowcs);
+BIONIC_BENCHMARK_WITH_ARG(BM_stdlib_mbstowcs, "0 0");
 
 static void BM_stdlib_mbrtowc(benchmark::State& state) {
   const size_t buf_alignment = state.range(0);
@@ -117,4 +117,4 @@
 
   state.SetBytesProcessed(uint64_t(state.iterations()) * uint64_t(500000));
 }
-BIONIC_BENCHMARK(BM_stdlib_mbrtowc);
+BIONIC_BENCHMARK_WITH_ARG(BM_stdlib_mbrtowc, "0");