Issue title: phyDat:arguments imply differing number of rows: 
 Issue body: Hello,
I am trying to read a .fasta file through function phyDat, however, it showed that Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 300, 311, 309, 307, 302, 331, 328, 329, 312, 298, 292, 293, 297, 274, 276, 322.

My coding as follows:
library("ape")
library(Biostrings)
library("seqinr")
library("phangorn")

pwp <- read.phyDat(file.path("~/Desktop/bioinformatic/project/phylogenetics", "PF02171_seed.fasta"),type="AA", format = "fasta")

parsimony(treeNJ, pwp,method = "sankoff")
pwtreePars <- optim.parsimony(treeNJ, pwp,method = "sankoff")
plot(pwtreePars, "unrooted", main="parsimony")

The .fasta file is a multiple sequence seed alignment download from pfam. Can anyone tell me where the problem is?

Thank you
 Comments: 
 Comment 0: Hi @SHIGURREE ,

the sequences in the fasta file have different length and need to be aligned first.
```
pwp <- read.FASTA(file.path("~/Desktop/bioinformatic/project/phylogenetics", "PF02171_seed.fasta", type="AA")
lengths(pwp)
```
The lengths of these amino acids should vary.  

If you want to align these sequences inside R, there are some possibilities using the ape package (`?muscle` assuming you have installed these programs on your machine) or you can use the `msa` package from bioconductor. 

I made some small change inside `read.phyDat` to catch this error and return a warning message (commit 7248b29bcd253d899b236c759d482dc195120307).  

Regards, 
Klaus
 

{'source': 'GithubIssues', 'repo_name_with_owner': 'KlausVigo/phangorn', 'issue_id': 320580985, 'repo_stars': 177.0}