Refactor ascii85

Work Done:
1) Verify test coverage and passage
2) Share char constants across files
3) Change Header Encoding/Decoding to use dictionary-based lookups rather than nested switch statements. The goal is to increase clarity and remove duplication.
4) Verify that all test pass

Note:
This change trades clarity for easier comprehension at the expense of increased complexity (adding pre-computed reverse lookups and a lock) and perhaps decreased performance. The performance changes due to the algorithm change should be verified in a near-production environment.