* perf: `Document` objects without circular references
Circular references are usuallly considered bad for GC, avoiding them
since they don't seem to be necessary.
* fix: explicitly convert to weakref
The license.txt file has been replaced with LICENSE for quite a while
now. INAL but it didn't seem accurate to say "hey, checkout license.txt
although there's no such file". Apart from this, there were
inconsistencies in the headers altogether...this change brings
consistency.
* Remove six for PY2 compatability since our dependencies are not, PY2
is legacy.
* Removed usages of utils from future/past libraries since they are
deprecated. This includes 'from __future__ ...' and 'from past...'
statements.
* Removed compatibility imports for PY2, switched from six imports to
standard library imports.
* Removed utils code blocks that handle operations depending on PY2/3
versions.
* Removed 'from __future__ ...' lines from templates/code generators
* Used PY3 syntaxes in place of PY2 compatible blocks. eg: metaclass
* Removed comment_type 'updated'
* New doctype activity log
* Moved feed.py to activity_log
* Updated feed gets stored in activity_log
* Activity page fetches feed from activity_log
* feed match condition change
* modified
* modified hooks.py
* modified sessions.py
* patch added
* naming in patch
* moved login, logout feed to activity_log
* changes in auth.py, hooks.py
* deleted doctype authentication_log and added test cases
* added utils.py in core
* moved some methods from communication.py to utils.py