[SPARK-1687] [PySpark] fix unit tests related to pickable namedtuple

serializer is imported multiple times during doctests, so it's better to make _hijack_namedtuple() safe to be called multiple times.

Author: Davies Liu <davies.liu@gmail.com>

Closes #1771 from davies/fix and squashes the following commits:

1a9e336 [Davies Liu] fix unit tests
[SPARK-2323] Exception in accumulator update should not crash DAGScheduler & SparkContext

Author: Reynold Xin <rxin@apache.org>

Closes #1772 from rxin/accumulator-dagscheduler and squashes the following commits:

6a58520 [Reynold Xin] [SPARK-2323] Exception in accumulator update should not crash DAGScheduler & SparkContext.
Also document SPARK_{MASTER/WORKER}_WEBUI_PORT

The existing documentation uses {master/worker}.ui.port, which doesn't
actually work because SparkConf doesn't pick up system properties that
are not prefixed by spark (SPARK-2857). We should at least document
a working alternative.
Add spark.executor.port
Add a few miscellaneous ports
Merge branch 'master' of github.com:apache/spark into configure-ports