ALL simple issue fixes

:alien: DON'T PANIC :alien: 

This is every _simple_, non-controversial, single-issue fix I found in the issue/PR backlog.

Yes, this branch has 54 commits that will auto-close 55 issues when merged (#463, #513, #537, #811, #857, #858, #878, #952, #1188, #1187, #997, #1092, #1105, #1129, #1161, #1186, #1191, #1300, #1327, #1376, #1428, #1450, #1456, #1543, #1519, #1561, #1597, #1610, #1614, #1615, #1631, #1637, #1660, #1681, #1696, #1512, #1728, #1741, #1602, #1741, #1774, #1801, #1842, #1843, #1847, #1844, #1883, #1645, #1647, #1900, #760, #566, #1313, #521)

Yes, this branch has 31 authors (HI COMMUNITY!  We haven't forgotten you!).

Yes, I manually reviewed, edited, and/or fixed every commit here.

Everything works, all tests pass (https://travis-ci.org/mattsta/redis/builds/31474903), and this Branch of Awesome Correctness is ready for merging into Actual Redis.

Notable changes include:
  - increased maximum sds size to 4 GB from 2 GB  (just an `int` to `unsigned int` replacement; everything still works)
  - if Redis is in the foreground and you Ctrl-C, it will now `SHUTDOWN` cleanly instead of just killing the server.
  - many code clarifications and movement towards being more correct everywhere possible
  - if you request a PID file, it will now always be written instead of only showing up in daemon mode.
  - many more technical fixes, tiny refactorings, and logic improvements throughout the code