* improve performance of sample_neighbors
* some more improve
* test script
* benchmarks
* multi process
* update more tests
* WIP
* adding two API for state saving
* add create from state
* upd test
* missing file
* wip: pickle/unpickle
* more c apis
* find the problem of empty data array
* add null array; pickling speed is bad
* still bad perf
* still bad perf
* wip
* fix the pickle speed test; now everything looks good
* minor fix
* bugfix
* some lint fix
* address comments
* more fix
* fix lint
* add utest for random.choice
* add utest for dgl.rand_graph
* fix cpp utests
* try fix ci
* fix bug in TF backend
* upd choice docstring
* address comments
* upd
* try fix compile
* add comment
* [WIP] PinSAGE operators
* moved the edge remapping mess into C
* some docstrings
* lint
* lint x2
* lint x3
* skip gpu test on topk
* extend pinsage to any metapath
* lint x4
* addresses #1265
* add always_preserve (fixes#1266) and fix a silly bug
* disable gpu test on compaction
* lint
* fix a horrible bug and add more tests
* lint
* addresses comments
* lint
* bugfix
* addresses comments
Co-authored-by: Minjie Wang <minjie.wang@nyu.edu>