move Record classes to a separate module and simplify
update tests
add relevant test for recorders when using tuples
update documentation of the default filters that work only with namedtuple
like objects
update monitors to support setting the record type at construction
Merge branch 'master' into enh-tuples-as-records

# Via Ioannis Tziakos (2) and IoannisTziakos (2)
* master:
  fix cmonitor import
  copy the optimization to the function_memory monitor. This implementation is 17 times faster in my local machine
  add a step by step benchmark of the optimizations to the function event monitor
  add a benchmark script to improve the performance of the base function monitor

Conflicts:
	pikos/monitors/function_monitor.py
add more optimization steps
apply additional optimization steps on the pikos FunctionMonitor
use an optimized method that supports only tuples when we are recording
on simple tuples
update monitors benchmark on recent changes.
support pure tuples as records in the monitors.
add basic testing using tuples for records.
update function and line mixins to support the optimized tuple event
methods.
pep8 and pyflakes cleanup
split the function containers
update docstrings
update docstrings
fix typo
fix docstring
update docstrings