NF+TEST: upload a file over http via POST (initial commit)

Usage:
- see post._test_post() for examples, include digest checking
- from psychopy.contrib.http.post import upload
Assumes a configured server with up.php:
- you can test against my server, details in post.py
- just email your IP addr to me jrgray@gmail.com and I'll enable access
RF+ENH+DOC: http upload

- add logging, byte checking
- remove firewall script (not useful enough, unclear origin)
- send.php now also displays directory listing for debugging
ENH: coder demo for http upload; handle "connection reset"

- demo http_upload.py tries to upload a file to a server (mine by default)
- will fail unless your IP address is enabled on a configured server
- email your IP address to me if you want to test uploading to my server
  (jrgray@gmail.com)
ENH: http upload - better directory listing in diagnostic script

most recent upload is now at the top, in table
ENH: better coder demo, allowing test against my server

remotely: now runs up.php then deletes the file, unrestricted IP address
RF: http upload demo
RF: http upload demo, more informative error handling

too_big message was getting lost in demo
TEST: http upload can now _test_post() from any IP address

- _test_post() now points to up_no_save.php. idea: anyone can run tests from anywhere
- this sets the stage for moving to a proper unit-test
- minor comments in up.php
DOC: http upload demo

- note that there's no encryption
- eventually refactor the demo to include encryption as well (openssl_wrap)
Merge branch 'master' of git://github.com/psychopy/psychopy

* 'master' of git://github.com/psychopy/psychopy:
  BF: removed unecessary print statements (from debugging) in visual
NF+BF: detect & set locale explicitly, handle unicode in date (initial commit)

NF: handle locale explicitly
- add pref.app['locale']; '' = use system default (same behavior as previously)
- during prefs loading, obtain locale and set explicitly for whole app
- update locale immediately after preferencesDlg
- detect and report locale as part of RunTimeInfo(), systemLocale
- if explicitly set as an app pref, set that locale in builder scripts too
- pref allows user to override default (eg, to sidestep locale-related unicode bugs)
BF: handle unicode in month names, to fix experiment.py crash on getDateStr()
- only tested with '', 'en_US', 'en_US.UTF8', 'ja_JP', and 'ru_RU'
Merge branch 'master' of git://github.com/psychopy/psychopy

* 'master' of git://github.com/psychopy/psychopy:
  ENH: ExperimentHandler.saveAsWideText now using extraInfo and conditions params
  DOC: changelog
BF: localization - check for locale.nl_langinfo()

Python for Windows / Win 7 doesn't seem to support locale.nl_langinfo()

fix contributed by Hiroyuki Sogo:
tested on Ubuntu Desktop 11.10 (installed using Japanese Remix CD)
and Windows 7 Japanese
DOC: changelogs
Merge branch 'feature-localization'

* feature-localization:
  DOC: changelogs
  BF: localization - check for locale.nl_langinfo()
  NF+BF: detect & set locale explicitly, handle unicode in date (initial commit)
Merge branch 'master' of git://github.com/psychopy/psychopy

* 'master' of git://github.com/psychopy/psychopy:
  BF: DataHandler.addDataType no longer tries loop over unicode strings
BF: stairHandler buff.write params

testTheApp -> testExperiment complained "format requires a mapping", now happy
TEST: add locale to testExp_LoadCompilePsyexp

iterates over en_US, en_US.UTF-8, ru_RU, ja_JP
doing so for several .psyexp files

bug: tester's locale pref should be blank, else testRun_FastStroopPsyExp fails
DOC: new builder demo for dual rating scales
Merge branch 'feature-http-upload'

* feature-http-upload:
  DOC: http upload demo
  TEST: http upload can now _test_post() from any IP address
  RF: http upload demo, more informative error handling
  RF: http upload demo
  ENH: better coder demo, allowing test against my server
  ENH: http upload - better directory listing in diagnostic script
  ENH: coder demo for http upload; handle "connection reset"
  RF+ENH+DOC: http upload
  NF+TEST: upload a file over http via POST (initial commit)