Xcode 6 Beta 5 compatibility.

Straightforward changes include:
- @auto_closure to @autoclosure
- Sequence to SequenceType and GeneratorType to Generator
- explicit nil checking (optionals no longer conform to BooleanType)
- because of the above change, removed optional truthy/falsy tests

Less straightforward (controversial?) changes...
- Removal of Equatable on Array... I couldn't get this working in a
  straightforward way because bridgeToObjectiveC was removed (which is
  how equality was being checked before). It isn't currently possibly to
  add a generic constraint either and it also isn't possible to downcast
  Array<T> to NSArray. I ended up changing the tests to use NSArray for
  equality checks for now.
Put Array Equatable implementation back.

bridgeToObjectiveC is now _bridgeToObjectiveC.
Use hasValue instead of explicit nil checks.
Made members of SourceLocation publicly readable.