CP-6167: Add pylint configuraton files

 * test/pylintrc is the configuration file. For now we only care
   about error level issues.

 * test/pylintrc-0.13.1 is the default config file generated
   by the pylint-0.13.1 in our build environment. We keep it
   here as a backup. So when we upgrade to the next version of
   pylint, we can do a 3-way diff to port our customizations
   to the new config file and also find out what has been
   changed/added on the configuration defaults of the new
   pylint.

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
CP-6167: Integrate pylint to our dev/build environment

The tool can be used in three ways:

 * When doing development, you can, and probably should, manually
   run "make precommit" in the root of SM repository before you
   make any code commits.

   You can do this either in a XenBuilder chroot environment or
   your local environment, in which case it's your responsibility
   to ensure that you have the same or compatible versions of
   pylint and many other libraries installed (e.g. XenAPI.py, xen
   head files, xen python bindings, swig etc.)

   The "make precommit" will only check files with local changes
   that have not been committed yet (either staged or not).

 * Similarly, there is "make precheck" which will check every
   python source files regardless of it's commit status. You
   can manually execute it in the same way as "make precommit"
   but gain more confidence due to the coverage (with the cost
   of waiting time). You should probably do this when integrating
   commits to a branch (e.g. when pushing to github trunk).

 * The "make precheck" command will be executed automatically
   whenever we build the SM repo (in XenBuilder or locally). If
   there is any error caught by pylint, the build process will
   abort intentionally and the whole build will fail. (So please
   make sure you run the "make precheck" before integration.

Our current build environment use a quite old version of pylint.
One notable issue is that the exit code of a pylint process will
remain 0 even if some errors have been spot. That's why I have to
capture the output of pylint in the Makefile target and do some
extra processing, which makes the Makefile command a little bit
more complicated than usual. With newer version of pylint integrated
in the future, this should no longer be an issue.

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>