Implement `primefactors()`
Remove an unnecessary comment
Remove unnecessary comment
Merge branch 'master' into prime_factors

Conflicts:
	src/ntheory.h
	src/tests/ntheory/test_ntheory.cpp
Make the code const correct
Simplify a for loop over a vector
Use std::vector<RCP<const Integer>>
Fix the signature of _test_primefactors()
Fix the signature of primefactors()
Fix primefactor for 0

Previously there was an infinite recursion. Now we just return.
Make primefactor work using factor_trial_division

Now it works robustly
Fix tests

The number of factors were incorrect in the test, e.g. 12 = 2*2*3 which is 3
factors, not 2.
Add new tests
Remove prime duplicates
Rename `primefactors` to `prime_factors`
Implement `prime_factor_multiplicities()`
Add a test
Add tests for `prime_factor_multiplicity()`
Remove unnecessary map
Improve code