Error: unhandled exception: 's' is not accessible using discriminant 'kind' of type 'DbValue' [FieldDefect] using nested Model
This happens latest develop (commit : d63ee9b802a40e97d90badc0bc5da544bf7486a9)

Trying to migrate and select nested model result in an error : 

```nim
import norm/model
import norm/sqlite
import options
import random
import os

randomize()

type
  Toy* = ref object of Model
    price*: float
  Pet* = ref object of Model
    species*: string
    favToy*: Toy
  Person* = ref object of Model
    name*: string
    pet*: Pet

proc newToy(): Toy =
  Toy(price: 0.0)
proc newPet(): Pet =
  Pet(species: "cat", favToy: newToy())
proc newPerson(): Person =
  Person(name: "Bob", pet: newPet())

proc createDb(localDbName: string) =
  if fileExists(localDbName):
    removeFile(localDbName)
  var localDb = open(localDbName, "", "", "")
  localDb.createTables(newToy())
  localDb.createTables(newPet())
  localDb.createTables(newPerson())
  localDb.close()

proc insertData(origDbName: string) =
  var newDb = open(origDbName, "", "", "")
  var toy = Toy(price: rand(100.0))
  var buddy = Pet(species: "dog", favToy: toy)
  var tuna_eater = Pet(species: "cat", favToy: toy)
  var h1 = Person(name: "Jean", pet: buddy)
  var h2 = Person(name: "Rachel", pet: tuna_eater)
  newDb.insert(h1)
  newDb.insert(h2)
  newDb.close()

proc restoreDb(oldDbName: string, newDbName: string) =
  var oldDB = open(oldDbName, "", "", "")
  var newDb = open(newDbName, "", "", "")
  var people = @[newPerson()]
  oldDb.selectAll(people)
  echo "Got ", people.len, " people"
  for i in 0..<people.len():
    var human = people[i]
    human.id = 0 # id = 0 -> issue 104 
    newDb.insert(human)
  oldDb.close()
  newDb.close()

proc checkInsert(newDbName: string) =
  var newDb = open(newDbName, "", "", "")
  var people = @[newPerson()]
  newDb.selectAll(people)
  echo "Got ", people.len, " people"
  for i in 0..<people.len():
    var human = people[i]
    echo human.name
  if people.len() != 0:
    echo "SUCCESS"
  else:
    echo "FAILURE"
  newDb.close()

proc main() =
  const oldDbName = "oldver.db"
  const newDbName = "newver.db"

  # We could pass DbCon here as well
  createDb(oldDbName)
  insertData(oldDbName)
  checkInsert(oldDbName)
  
  createDb(newDbName)
  restoreDb(oldDbName, newDbName)
  checkInsert(newDbName)

when isMainModule:
  main()
```

Here is the output : 
```
Got 2 people
Jean
Rachel
SUCCESS
Got 2 people
/home/rcaillaud/Workspace/playground/normpg/foo.nim(83) foo
/home/rcaillaud/Workspace/playground/normpg/foo.nim(80) main
/home/rcaillaud/Workspace/playground/normpg/foo.nim(60) checkInsert
/home/rcaillaud/Workspace/localws/norm/src/norm/sqlite.nim(207) selectAll
/home/rcaillaud/Workspace/localws/norm/src/norm/sqlite.nim(197) select
/home/rcaillaud/Workspace/localws/norm/src/norm/private/sqlite/rowutils.nim(54) fromRow
/home/rcaillaud/Workspace/localws/norm/src/norm/private/sqlite/rowutils.nim(35) fromRowPos
/home/rcaillaud/Workspace/localws/norm/src/norm/private/sqlite/rowutils.nim(41) fromRowPos
/home/rcaillaud/Workspace/localws/norm/src/norm/private/sqlite/dbtypes.nim(80) to
/home/rcaillaud/.choosenim/toolchains/nim-1.4.4/lib/system/fatal.nim(49) sysFatal
Error: unhandled exception: 's' is not accessible using discriminant 'kind' of type 'DbValue' [FieldDefect]
Error: execution of an external program failed: '/home/rcaillaud/.cache/nim/foo_d/foo '
```

The weird part is that it success the first time on "oldDbName" but failt on "newDbName". I think it is related to nested Model as removing it solves the issues.