Broadcast variable visibility change & doc update.

Note that previously Broadcast class was accidentally marked as private[spark]. It needs to be public
for broadcast variables to work. Also exposing the broadcast varaible id.
Updated API doc for Accumulable and Accumulator.
Added package doc for the Java API.
Added license header for package.scala in the Java API package.
Maintain Serializable API compatibility by reverting back to java.io.Serializable for Broadcast and Accumulator.
Fixed a typo in JavaSparkContext's API doc.
Merge pull request #425 from rxin/scaladoc

API doc update & make Broadcast public

In #413 Broadcast was mistakenly made private[spark]. I changed it to public again. Also exposing id in public given the R frontend requires that.

Copied some of the documentation from the programming guide to API Doc for Broadcast and Accumulator.

This should be cherry picked into branch-0.9 as well for 0.9.0 release.