increasing the maximum size of a tag attribute value to 4K
Update style.rst and add some new rules.
python lib: decode the sorted values before unpickling them.
Merge pull request #498 from pooya/develop

python lib: avoid decoding the python object.
test: add some tests to document the behaviour of group_outputs function.
Merge pull request #499 from pooya/develop

test: add some tests to document the behaviour of group_outputs function...
add .swp extension to the gitignore list.
job_coordinator: refactor setup_stage_tasks.

The new function receives a set of outputs, instead of a stage name,
and creates some tasks necessary to consume these outputs.
job_coordinator: cleanup the propagation of save_info and save_results.
job_coordinator: use task_outputs instead of manually computing outputs.
Merge pull request #501 from pooya/jc_clean

Jc clean
job_coordinator: Break down do_stage_done function into two functions.

The maybe_event_stage_done function sends an event if the stage is not the dummy
input stage.  This function does not change the state.
The do_next_stage function starts the next stage and changes the state.
job_coordinator: add a field to stage_info to show when a stage has finished.
pipeline_utils: introduce all_deps_finished function.

This function tests whether all of the dependencies of a stage are finished or
not.  It will be used to find out if we can finish a stage.
Merge pull request #503 from pooya/stage_finish

Stage finish
jc_utils: fix the broken stage_info_opt function.

This function should return a stage if the stage is found.  However, it was
reusing a bounded argument of a different type.
jc_utils: add the no_tasks_running function.

This function checks to see if there is any tasks running in the current
stage.
Merge pull request #504 from pooya/jc_util_fixes

Jc util fixes
doc: Add an image about the worker protocol.

This image is from Prashanth's talk in Erlang Factory.
Merge pull request #505 from pooya/doc

doc: Add an image about the worker protocol.