[SPARK-2024] Add saveAsSequenceFile to PySpark

JIRA issue: https://issues.apache.org/jira/browse/SPARK-2024

This PR is a followup to #455 and adds capabilities for saving PySpark RDDs using SequenceFile and Hadoop OutputFormats.

* I mainly used Python doctests as unit tests. I think it complements #455 by showing some code examples of using the APIs, including ```saveAsHadoopDataset/hadoopRDD```, ```saveAsHadoopFile/hadoopFile```, ```saveAsSequenceFile/sequenceFile```, both old and new MapReduce APIs, ArrayWritable and MapWritable examples.

* Added the missing test case on reading SequenceFile with ```ArrayWritables``` in tests.py

cc @MLnick @mateiz @ahirreddy @pwendell
@mateiz we don't handle arrays currently and this is also the case for Scala API. The reason is ArrayWritable class doesn't have a no-arg constructor for creating an empty instance upon reading. User needs to create subtypes. Although we could add subtypes for handling primitive arrays, that makes Spark a dependency for users, which we probably don't want to do.

For conversion between arrays and ArrayWritable subtypes, we can deserialize automatically upon reading as long as the subtype is on the class path. However, our default converter can't convert arrays to ArrayWritable subtypes upon writing since we don't know which subtype to use. User needs to specify custom converters. 

We should look into ArrayPrimitiveWritable, which is not available in Hadoop v1.0.4.