ENH: added an optional css id to `<table>` tags created by `frame.to_html`
This is useful for the reasons mentioned in #8496

- Automatically create a random id for tables created using `_repr_html_` using uuid.
- Also updated `test_repr_html_float` to be more descriptive and avoid conflicts with random numbers in the id for`_repr_html_`

- [x] closes #8496
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Hello @samghelms! Thanks for submitting the PR.

 - In the file [`pandas/core/frame.py`](https://github.com/pandas-dev/pandas/blob/7d93de9a83abab96a5f7e9e6d85c4fc9257b7a09/pandas/core/frame.py), following are the PEP8 issues :

> [Line 1763:76](https://github.com/pandas-dev/pandas/blob/7d93de9a83abab96a5f7e9e6d85c4fc9257b7a09/pandas/core/frame.py#L1763): [W291](https://duckduckgo.com/?q=pep8%20W291) trailing whitespace

 - In the file [`pandas/io/formats/format.py`](https://github.com/pandas-dev/pandas/blob/7d93de9a83abab96a5f7e9e6d85c4fc9257b7a09/pandas/io/formats/format.py), following are the PEP8 issues :

> [Line 750:47](https://github.com/pandas-dev/pandas/blob/7d93de9a83abab96a5f7e9e6d85c4fc9257b7a09/pandas/io/formats/format.py#L750): [E251](https://duckduckgo.com/?q=pep8%20E251) unexpected spaces around keyword / parameter equals
> [Line 750:49](https://github.com/pandas-dev/pandas/blob/7d93de9a83abab96a5f7e9e6d85c4fc9257b7a09/pandas/io/formats/format.py#L750): [E251](https://duckduckgo.com/?q=pep8%20E251) unexpected spaces around keyword / parameter equals

 - In the file [`pandas/tests/io/formats/test_to_html.py`](https://github.com/pandas-dev/pandas/blob/7d93de9a83abab96a5f7e9e6d85c4fc9257b7a09/pandas/tests/io/formats/test_to_html.py), following are the PEP8 issues :

> [Line 1874:1](https://github.com/pandas-dev/pandas/blob/7d93de9a83abab96a5f7e9e6d85c4fc9257b7a09/pandas/tests/io/formats/test_to_html.py#L1874): [W391](https://duckduckgo.com/?q=pep8%20W391) blank line at end of file

