NeighborsModel improvements

- Passenger properties (aka neighbor classes) are specified by the user in a parsable format
- Passenger properties are all defined on Passenger (such as Deck and FamilyName)
- Use better data structure (Complex) to keep track of neighbor statistics
- Use Indexer in NeighborsModel to make code more readable
- Fixed small bug: Sex is always known