------------------------
* Add ``get_loops()`` and ``get_inner_loops()`` methods to Run and Benchmark
classes
* Documentation: add export_csv.py and plot.py examples
* Rewrite warmup calibration for PyPy:
- Use Q1, Q3 and stdev, rather than mean and checking if the first value
is an outlier
- Always use a sample of 10 values, rather than using a sample of a variable
size starting with 3 values
* Use lazy import for most imports of the largest modules to reduce the
number of imported module on 'import perf'.
* Fix handling of broken pipe error to prevent logging the error:
"Exception ignored in: ... BrokenPipeError: ..."
* ``collect_metadata`` gets more metadata on FreeBSD:
- use ``os.getloadavg()`` if ``/proc/loadavg`` is not available (ex: FreeBSD)
- use ``psutil.boot_time()`` if ``/proc/stat`` is not available (ex: FreeBSD)
to get ``boot_time`` and ``uptime`` metadata
* The Runner constructor now raises an exception if more than one instance is
created.