Adding public/private modifiers so that SwiftyJSON can be used as a framework

If I try to use SwiftyJSON as a framework by adding the project file to a workspace, I couldn't access any methods. I added public modifiers to all the methods (except the ones that start with underscore).

There was also a test that didn't compile, because one of the Cocoa APIs now return an optional instead of an implicit optional.