[In Progress] Scraping, Reference Ranges and Units

This is a pull request in progress. This PR includes work for practice and provider scraping (fixes #87), reference ranges (fixes #53) and units(fixes #82). I was almost done with scraping, but I decided to put more effort to scrape all the information I can find online. 

For reference ranges and units, there is more work to do. I have designed what I will be doing for units. For reference ranges, I will work on the front end and connecting reference ranges to record update values.
Or like only use the `.reject(:blank?)` syntax when you have the array stored as a variable. For example...
```
attributes = [..]
attributes.reject(&blank?).size == n
```
would be acceptable. 
```
[...].reject(:blank?).size == n
```
But the above should be changed.