Things that would improve this library:
[ ] Implement parsing of ipv6 hosts (skipped it bc lazy for min viable)

[ ] Figure out how to (OR WHETHER TO) expose sub-component structure
    as in, should an OkraUri object include:
     - separated path segments?
     - host/port/userinfo in addition to just Authority
    Pro: It would improve the user experience, and keep the
         responsibility for "parsing" internal to Okra. And the information
         is already accessible, by nature of how parsing already works...
    Con: it messies base.c, it incurs more complexity in merge/recompose,
         it requires more-complex memory management...

[ ] Use strcpy when possible over manually copying buffers

[ ] Refactor the ABNF-based code to be less ad-hoc

[ ] Use valgrind to find memory leaks (there definitely are some I think)

[x] Add installation make targets

[ ] Implement algorithms described in the spec:
    [x] Merge relative into base URI (5.2)
    [ ] Normalization/equivalence checks (6.2.2)
        * is this one in-scope?
    [x] Component recomposition (5.3)
    [ ] Methods to escape(/unescape?) raw strings as different components
        [ ] query
        [ ] (others?)

[ ] Add more extensive testing, cover more edge cases
