fixed NibCell doesn't work well

the height method won't work for nibCell
Please see #526

###The key point is *HEIGHT*

I have considered about the ordering.
Since we *maintained the original ordering of checking `cellClass`*
Image that if I want load a cell from *nib*, I will need to implement `cellNib`. 
so there are two cases 

1. Only `cellNib` is implemented
  the nibCell can be loaded normally.
  BUT see the method below.
  we can only get a default height `tableView.rowHeight` because we don't know cellClass

2. `cellNib` and `cellClass` both are implemented 
  Now the height can calculate normally because we have a cellClass
  BUT the cellNib would be loaded if we keep the original ordering of checking `cellClass`*

    
Code:


    + (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath model:(NITableViewModel *)model {
      CGFloat height = tableView.rowHeight;
      id object = [model objectAtIndexPath:indexPath];
      Class cellClass = nil;
      if ([object respondsToSelector:@selector(cellClass)]) {
        cellClass = [object cellClass];
      }
      if ([cellClass respondsToSelector:@selector(heightForObject:atIndexPath:tableView:)]) {
        CGFloat cellHeight = [cellClass heightForObject:object
                                        atIndexPath:indexPath tableView:tableView];
        if (cellHeight > 0) {
          height = cellHeight;
        }
      }
      return height;
    }


As NICollectionViewCellFactory doesn't need consider the height problem 
But taking consider of the size of UICollectionViewCell, it also have the same problem