N4077 - experimental::shared_ptr changes.

Remove [mods.util.smartptr.shared]
Add [memory.smartptr]
Merge pull request #40 from jwakely/n4077

N4077 - Move changes to shared_ptr into experimental::shared_ptr.
Use the new template aliases and variable templates for type traits to remove ::type and ::value from the TS.
Allow a few more line breaks in inline code.
Add a missed line break in optional::operator*.
Fix up some references inside the shared_ptr change.
Update the values of the invocation_type and optional feature-testing macros to reflect the last meeting they were changed.