Add rewrite of 'li(z)' into hypergeometric form

In [3]: li(z).rewrite(hyper)
Out[3]: log(z)*hyper((1, 1), (2, 2), log(z)) - log(1/log(z))/2 + log(log(z))/2 + EulerGamma

In [4]: pprint(_)
                                 ⎛  1   ⎞
                              log⎜──────⎟
        ┌─  ⎛1, 1 │       ⎞      ⎝log(z)⎠   log(log(z))
log(z)⋅ ├─  ⎜     │ log(z)⎟ - ─────────── + ─────────── + EulerGamma
       2╵ 2 ⎝2, 2 │       ⎠        2             2

In [5]: hyperexpand(_)
Out[5]: ((-log(log(z)) + Ei(log(z)))/log(z) - EulerGamma/log(z))*log(z) - log(1/log(z))/2 + log(log(z))/2 + EulerGamma

In [6]: pprint(_)
                                                     ⎛  1   ⎞
                                                  log⎜──────⎟
⎛-log(log(z)) + Ei(log(z))   EulerGamma⎞             ⎝log(z)⎠   log(log(z))
⎜───────────────────────── - ──────────⎟⋅log(z) - ─────────── + ─────────── + EulerGamma
⎝          log(z)              log(z)  ⎠               2             2

In [7]: simplify(_)
Out[7]: -log(1/log(z))/2 - log(log(z))/2 + Ei(log(z))

In [8]: pprint(_)
     ⎛  1   ⎞
  log⎜──────⎟
     ⎝log(z)⎠   log(log(z))
- ─────────── - ─────────── + Ei(log(z))
       2             2

In [8]: _.rewrite(li)
Out[8]: -log(1/log(z))/2 - log(log(z))/2 + li(z)

In [9]: pprint(_)
     ⎛  1   ⎞
  log⎜──────⎟
     ⎝log(z)⎠   log(log(z))
- ─────────── - ─────────── + li(z)
       2             2

This is (maybe modulo a mess with branch cuts) a pure 'li(z)'.