Fake database columns for attributes

 - [x] Initial working implementation
 - [x] Add a specific error for missing filter types.
 - [x] Move filter mappings into a method on the individual filters
 - [x] Determine if/how to work with arrays
 - [x] Determine if/how to work with hashes
 - [x] Determine if/how to work with models
 - [x] Make the column classes flyweight
 - [x] document

closes #140