add factor

I implemented factor using u64. I have another branch with a `bigint` version, but it is far too slow for large numbers (even numbers that fit into u64). It's in my feat-factor-bigint branch if you're interested.

I'm pretty new to rust, so criticism is graciously accepted. I added some comments to lines that I was concerned about.