Added -o option to memory_profiler

Output of 'python -m memory_profiler -o "bar.out" script.py' goes
into file "bar.out" instead of standard output.
Added timestamps to mprofile output

The output of mprofile now includes timestamp information, in
addition to memory consumption.

A "timestamps" option has been added to memory_usage()
Plotting of mprofile output

The "mplot" script has been added. Plots of memory consumption can
be done with it.
Added mplot to setup.py
Added timestamping feature

Added a --timestamp option that when turned on, output timestamps
for start and end of every decorated function, instead of memory
profile.
This options is intended to be used together with the mprofile script,
to be able to plot the lifetime of some functions  on the global
memory graph.
Timestamping is handled by mprofile and mplot

An --python option has been added to mprofile, just to add the proper
timestamping options to the run python program.
mplot now looks for a timestamp file, and plot the additional
information as vertical lines.
Added a check in TimeStamper

TimeStamper now raises a clear exception when provided with something
that is not callable.
Added explanatory messages to mplot.

Improvement of error handling in mplot: a clear message is printed
whether pylab is not found or no input file are automatically detected.
Changed the display of timestamps

Execution times are now shown on the memory graph using a kind of
brackets instead of just vertical lines. This makes reading the graph
easier.

Graphing is now correct for any sampling frequency.
Added --interval option to mprofile

This options is used to change the sampling period. Example:
mprofile -T 0.2 <program>

Will execute <program> and record its memory usage every .2s.
Added option to monitor children processes

To get the memory usage of the main process and its children processes,
use the --include-children of mprofile. Only the sum of all memory usage
is recorded, no per-process details are available.
mplot can superimpose curves

mplot now read every argument on its command-line, and plot every
graph on the same plot.

Graph layout has been clarified: legend is now outside the axis.
Added maction

This script is intended for various actions of profile files.
Only removal is implemented in this commit.

maction rm -1   # deletes most recent profile from current dir.
Merge branch 'master' into mprofile
profile.timestamp is a context manager

Timestamp block of codes is now possible thanks to the
profile.timestamp() function that returns a context manager.

Example:
with profile.timestamp("block1"):
    f()

"block1" is the label that will be used for the plotting.
Added numpy_example.py

This script is intended to show differences between numbers output by
'python -m memory_profiler' and 'mprofile --python'
Memory usage at entering and leaving functions

When using timestamping, memory usage is now recorded when entering
and leaving functions. This provides for more accurate measurement at
these points.

mplot has been adapted to handle this new piece of information.
Added "clean" action to maction

This action removes all profile files in the current directory.
Merge branch 'master' into mprofile

Conflicts:
	memory_profiler.py
Corrected a small typo left after the merge.