Migrate data from maze column to properties column since it is no longer being stored as a string.
Fix migration
Set maze column explicitly to nil.
Automatically built.
Temporarily comment out banner about locale not being supported.
add type column.
Start refactoring
Fix storng params.
Use iterated params for artist levels.
Add tests to make sure STI is working.
more tests to make sure STI is working.
Refactoring.
Add html and logic for karel builder.
Add test for maze/karel distinction in maze builder.
Simple fix for done levels being slightly different width in user_stats.
use commas instead of (non-localized) 'human' strings for gallery counts
some small intermediate fixes, and normalize cache in ScriptLevel
clean up concept model and add some minor comments
clean up custom level import seed task