* fix gat residual bug
* fix the residual addition; output heads; add some shape notations;
* minor
* fix the output head average
* add requests package in requirement
1. Update `examples/pytorch/gcn` and `python/dgl/nn/pytorch` based on the latest APIs
2. Add full support for dropout in `examples/pytorch/gcn` and `python/dgl/nn/pytorch`
3. Rename `GCN` class in `python/dgl/nn/pytorch` to be `GraphConvolutionLayer` class
4. Make node field an argument that can be configured by users in GraphConvolutionLayer
Note that adjacency normalization has not been supported yet in the examples.