Merge pull request #2 from three18ti/master

Updated Name from MR to MapReduce
It appears Module::Install updates every day so here is the daily update
Move roles to Role/ dir
Improve reliability by adding flags for when input starts and stops and using counters to determine if mapping or reducing is taking place.
Generate an ID from the job name that also includes a timestamp and random number.  This lets us run the same job from multiple processes in parallel without them clobbering each other.
Fix race condition with checking several values to determine if a map-reduce job is done.
Simplify example in README and change the project name
Keep track of the number if input, mapped, and reduced items.  Make IDs cleaner.
Start mappers and reducer first in tests before loading input so it can start working right away.
Move us up to version 0.13
Merge branch 'master' of github.com:revolet/mr-map-reduce
Make the Daemon role only clean up child processes if it is the parent process
Add async input ability and postpone calling done() in all_results() until absolutely necessary because it is slow.
Make all_results() non-blocking and fix a test I broke in the last commit
Add inputs() method to load all inputs at once.
Enable auto_install() in Makefile.PL
Set all keys for a job to expire after it is complete.
Store the parent pid when we daemonize at the last moment in case we have already forked one or more times.
Exit gracefully if we get a TERM signal.  Set default for parent pid so we aren't comparing undefined values.
Add is_running() method to daemons to check the child process