Added clean_document and clean_document! methods that use Document parser instead of the default DocumentFragment

This allows you to validate the HTML string as if it were an entire document, not just a fragment.
Currently, the fragment parser strips html, head, body, etc. tags even if they are included in the whitelist.
Updated usage section of the readme with clean_document example