Created by: marchy
Fixed issue 192 (https://github.com/BoltsFramework/Bolts-iOS/issues/192), allowing projects that include frameworks which themselves include Bolts to work without running into “Include of non-modular header inside framework module” compilation errors.
The problem here was that there were dependencies included directly in the .h file instead of in the .m files (see here: http://stackoverflow.com/questions/28552500/xcode6-receiving-error-include-of-non-modular-header-inside-framework-module).
Instead these were moved to use the proper @class and @protocol definitions in the headers and only including the actual file in the .m file. This removes the circular dependency issues so that the Objective-C compiler can properly make everything work in projects that include sub-dependencies (ie: include a framework which it itself includes the Bolts library)