PERF: StataReader is slow
State: closed

StataReader does not make use of vectorized operations.

To improve performance, the following changes have been made:
- Use numpy.frombuffer to real the stored data in a single operation
- Vectorize date conversion
- Removal of unreachable private functions


Labels:
name: Performance
description: Memory or execution speed performance
name: IO Stata
description: read_stata, to_stata

Comments:
Timing relative to 0.13.1

```
-------------------------------------------------------------------------------
Test name                                    | head[ms] | base[ms] |  ratio   |
-------------------------------------------------------------------------------
packers_read_stata_numeric                   |  14.0897 | 2227.8013 |   0.0063 |
packers_read_stata_with_int                  |  46.7703 | 4598.8540 |   0.0102 |
packers_read_stata                           |  40.6570 | 3811.3313 |   0.0107 |
packers_write_stata                          | 1660.7050 | 9884.4100 |   0.1680 |
packers_read_pickle                          |  41.3154 | 213.2370 |   0.1938 |
packers_write_stata_with_int                 | 2172.7133 | 11113.3747 |   0.1955 |
packers_write_stata_numeric                  | 1145.3613 | 4515.4067 |   0.2537 |
packers_write_pack                           |  20.6529 |  22.3317 |   0.9248 |
packers_write_hdf_store                      |  62.1900 |  64.3257 |   0.9668 |
packers_read_csv                             | 125.9903 | 129.6519 |   0.9718 |
packers_read_pack                            |  63.1917 |  64.6987 |   0.9767 |
packers_write_pickle                         |  69.9616 |  71.1173 |   0.9837 |
packers_write_json                           |  78.5910 |  79.5964 |   0.9874 |
packers_write_csv                            | 1279.0847 | 1293.6600 |   0.9887 |
packers_write_hdf_table                      |  47.0573 |  47.0913 |   0.9993 |
packers_write_json_date_index                |  92.2186 |  91.5763 |   1.0070 |
packers_read_hdf_table                       |  25.3243 |  24.4873 |   1.0342 |
packers_read_json_date_index                 | 148.5484 | 130.2063 |   1.1409 |
packers_read_json                            | 154.6340 | 133.5283 |   1.1581 |
packers_read_hdf_store                       |  28.2674 |  23.9669 |   1.1794 |
-------------------------------------------------------------------------------
Test name                                    | head[ms] | base[ms] |  ratio   |
-------------------------------------------------------------------------------

Ratio < 1.0 means the target commit is faster then the baseline.
Seed used: 1234

Target [f194cd4] : PERF: StataReader is slow
StataReader does not make use of vectorized operations.
To improve performance, the following changes have been made:
* Use numpy.frombuffer to real the stored data in a single operation
* Vectorize date conversion
* Removal of unreachable private functions

Base   [d10a658] : RLS: set released to True. v0.13.1
```

will call that an improvement!

on the vbenches

these are the validations ones yes? 
maybe rename to `packers_read_stata_with_validation`? or something to distinguish (the `read_stata_with_int`

@bashtage also add this issue number to next to #8040 in the v0.15.0.txt notes (performance improvement section)

I added the other vb test since my first improvements were for numeric data only.  The date conversion was very time consuming, and I wanted to verify the gains.  I'll roll the new one back and rename the other one. 

awesome!