Better handle edge cases in Sprig::Reap::Association

- `klass` properly returns `nil` when a given association is polymorphic
- Use built-in `klass` method on a non-polymorphic association
- Delegate `foreign_key` to association (also a built-in method)
- Use built-in `foreign_type` method to determine polymorphic type
Handle nil foreign key values; use AR objects for record specs instead of stubs
Retrieve attribute value directly via `read_attribute` instead of `send`

- Using `send` can return a Ruby object when an attribute is wrapped
- sprig-reap should only care about the underlying values in the DB
Bump version to 0.0.6
Add CarrierWave uploader support (fix #5)
Ensure files in db/seeds/:target_env/files aren't overwritten
Handle CarrierWave uploaders with remote storage in prod, but file on dev/test
Create `db/seeds/:target_env/files` folder if it doesn't exist
Return `<%= sprig_file('file.ext') %>` instead of a path string to conform to Sprig formatting
Close io stream; use `SecureRandom::uuid` instead of `rand`