Refactor random string stuff and seeding

Make sure we have a good random seed on the default RNG, that the
predictable RNG is clearly marked as such, that random strings are
actually the length requested, and that they contain a restricted set of
characters only.
Copy compression setting while introducing
Merge pull request #1093 from syncthing/random

Refactor random string stuff and seeding
Revert "Cache file descriptors" (fixes #1096)

This reverts commit 992ad97ad5540c7c61debb321b9b3f6acdcaa9bc.

Causes issues on Windows which uses file locking.
Meaning we cannot archive or modify the file while it's open.
Merge remote-tracking branch 'origin/pr/1097'

* origin/pr/1097:
  Revert "Cache file descriptors" (fixes #1096)
Translation update
Script to fail build on missing authors and copyrights
Copyright notice
Fit better in with Jenkins
Correct check-contrib.sh
Run vet and lint during build
Fixes for go vet
Various style fixes
config.ConfigWrapper -> config.Wrapper
Style tweaks and some *IDG->IGD in UPnP code
Merge pull request #1099 from syncthing/vet-and-lint

Various changes for vet and lint
crypto/rand.Reader may not return all entropy immediately
Include error in randomness failure panic
Fix integration tests for Windows native
Protect GUI HTTPS from some attacks

 - Disable SSLv3 against POODLE
 - Disable RC4 as a weak cipher
 - Set the CommonName to the system host name