* Updates swiftlint config
* Fixes swiftlint erros and warnings
* Makes ChattoApp compatible with Xcode 8 b2
* Carthage compatibility with Xcode 8 b2
* Updates .travis.yml to use stable image with Xcode 8.1
* Runs the Swift 3 migrator in ChattoApp.
Affects ChattoApp, ChattoAppTests, Chatto and ChattoAdditions. Does not migrate ChattoTests or ChattoAdditionsTests
* Configures Chatto And ChattoAdditions projects to use Swift 3
* Updates .travis.yml to use Xcode 8 and iPhone 7
* Uses flatMap instead of filter and force cast
* Fixes createCollectionViewLayout not being a function
* Removes useless init overrides
* Fix for new implicit unwrapping optional non-propagation rule
* Removes useless casting
* Audits accessor levels in Observable
* Fixes UIControlState.Normal replaced by UIControlState()
* Favours private over fileprivate where possible
* Audits open/public access level
* Removes conditional if for Swift 2
* Removes label from simulateTapOnTextViewForDelegate
* Audits open/public access levels
* Minor performance improvements:
- Avoids updating font and color in TextBubble if it's not needed: would make attributed text to update
- Avoids updating views in selected setter if value didn't change (setter is called by the collection view as part of dequeuing)
- Avoids creating dictionary of attributes all the time for date attributed string (for some reason this was appearing in profiling with some swift-to-objc conversions)
Uses enum as image key in text style for greater safety.
* Removes linter warnings