A simple MaxReg implementation

In accordance with prophecy #55, I have written a register that stores the largest integer that you assign to it.

Questions
- [ ] Should this be for all terms, or just numbers? (I think it's easier to manage expectations with just numbers)
- [ ] Should it be integers or all numbers? (I coded with integers to start now, easily expanded)
- [ ] What do we do about returning `undefined` to a user? 
- [ ] Do we error if someone assigns a smaller number to the register than what's in it? (I think no)
- [ ] Do we error if someone assigns a non-number to the register? (I think yes)
- [ ] Do we want a MinReg too? (I think maybe, but one was enough to start)
We can't do this, `opaque` are treated as unique by dialyzer. This claims the type `integer() | undefined` uniquely for `maxreg()`.