Down-integrate from internal code base (C++ maps support).
Don't rely on non-standard 'INT32_MAX' / 'INT32_MIN'.

Define safe constants to use when padding enums.

Fixes #80.
Use 'kint32min'/'kint32max' constants, rather than defining locally.

Incorporates feedback from @xfxyjwf:
https://github.com/google/protobuf/pull/84#discussion_r20474781.
Avoid '**/' patterns for compat w/ git < 1.8.

Ignore generated test scaffolding files.

Exclude Python build artifacts.
Merge pull request #84 from tseaver/fix_80-avoid_INT32_MAX_MIN

Don't rely on non-standard 'INT32_MAX' / 'INT32_MIN'.
Merge pull request #86 from tseaver/compat_w_git_lt_1.8

Make .gitignore more robust
Merge remote-tracking branch 'upstream/master'