Just return tuples of unit and its value.

- Phase 1 of another restructuring.
Remove handling of plurals in the unit factory.

- Since its function is completely simplified with the string output
  function stripped completely.
- Stage two of restructuring.
Decide to just keep this base implementation

- Formatting will be reimplemented differently in a generic way.
Make the relevant classes callable.

- This allow the whole thing to resemble a dynamic units library.
- Also more or less restore the original function, where instead of
  explicitly format some parameter, just construct the object using the
  desired resolution and value, then and cast the output to string.
- See tests for details.
Drop the support for attributes.

- That's just lazy.  Also there is an even more lazier method now that
  is better.
Finalizing some documentation

- Doctest.  Why not.