adjust code, support situation as describe flowing

when query use with like : 

```
MySchema::Person->find(
         $dbh => { where => [ name => "jack" ] => with => [qw/book book.author/] => sub { });
```
where Person may( may not ) has many book. each book has a author.

the query result will be ：

···
     #Person         Book              Author
    Jack China      bookA 20$      Jucy American
    Jim Canada     undef  undef    undef undef
···

we can see that some people like Jim haven't a book --- the query result "undef";

this situation will trigger the code in Async::ORM::_map_row_to_object "die";

when it checking the subwith : book, but it wouldn't be set( because of the undef).

I think we should do not check the empty as an error. 

when empty, means the related table's result is null.

hope you can consider it :) thanks !