Added Javadoc and some stylecheck

I have added hopefully most of the javadoc for the interface.  I also ran checkstyle and fixed errors except for
1.  Lines longer then 80 chars.  I tried to keep them close, but I let them go over if it affected readability.
2.  Redundant Throws Null Pointer Exception.  I gather these errors are because we throw Null Pointer Exceptions but we don't catch them, but they are in his API so they should be in ours.  
3.  Missing package-info.java file I frankly don't really know what this is.  Pretty sure it's not necessary. 

Finally I changed the method descriptions to use the 3rd person(declarative) and not the 2nd person(imperitive).

@SterL  @JamieWohletz  @ankenmanp  @moquin101  @Kimmsudenver  @ericvangelder