Initial implementation of two types of solutions

Cards now have two types of solutions. Implement SolutionIndex for
indexed answer types. Implement SolutionString for regex answer types.
Implement solution types in card model
Add indices to foreign keys and clean up migrations
Rename SolutionIndex to SolutionPosition

Rename SolutionIndex model to SolutionPosition. Rename attributes from
start_index and end_index to start_position and end_position.