This commit adds a new graphx-shell which is essentially the same as
the spark shell but with GraphX packages automatically imported
and with Kryo serialization enabled for GraphX types.

In addition the graphx-shell has a nifty new logo.

To make these changes minimally invasive in the SparkILoop.scala
I added some additional environment variables:

   SPARK_BANNER_TEXT: If set this string is displayed instead
   of the spark logo

   SPARK_SHELL_INIT_BLOCK: if set this expression is evaluated in the
   spark shell after the spark context is created.
Reverting to Array based (materialized) output of all VertexSetRDD operations.
merging upstream changes
Merge branch 'master' of https://github.com/amplab/graphx into graphxshell
Merge pull request #51 from jegonzal/VertexSetRDD

Reverting to Array based (materialized) output in VertexSetRDD
Added GraphX to classpath.
Merge pull request #53 from amplab/rxin

Added GraphX to classpath.
Converted for loops to while loops in EdgePartition.
Merge pull request #54 from amplab/rxin

Converted for loops to while loops in EdgePartition.
Changing Pregel API to operate directly on edge triplets in SendMessage rather than (Vid, EdgeTriplet) pairs.
Merge pull request #56 from jegonzal/PregelAPIChanges

Changing Pregel API to use mapReduceTriplets instead of aggregateNeighbors
Merge pull request #49 from jegonzal/graphxshell

GraphX Console with Logo Text
Use custom serializer for aggregation messages when the data type is int/double.
Merge branch 'master' into rxin

Conflicts:
	graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala
Made more specialized messages.
Additional optimizations
merged and debugged
Fixing tests
Adding unit tests to reproduce error.
Merge pull request #58 from jegonzal/KryoMessages

Kryo messages