Gracefully handle failure to allocate memory for storing stdout of a task.

This fixes #321.

1. We set a maximum limit of 1GB for the stdout of a task. Anything beyond that is read from the link but thrown away. 

2. If the memory allocation for stdout fails, we read the contents from the link and throw it away. We return it as a success so the code proceeds to retrieve the output files of the task.

3. Adds documentation on the recommended practice of retrieving large stdout by redirecting them to a file when specifying the task.

4. Fixes failure handling in process_available_results().

@btovar, @dthain.