updating hom_ref and hom_var to work with alternate ploidies

fixes #228 

ack, tabs keep sneaking in when I'm not looking.  I need to add an automatic check for that.  Do you know a good tool for it, or should I just google around?

For initializing things like vectors of vectors, what is the blessed style?

Is this ok?
```
vector<vector<int>>{
    vector<int> {1,2,3},
    vector<int> {2,4,8}};
```