Mainly a HTTP- WebNetCPU-related commit: adding explicit compression of the CSV dataset during the uploading of a new task. This, in combination with the now invariable HTTP-payload -body compression from the server to client, marks implementation of mechanisms dealing with explicit compression of various data elements communicated between http server/client. The rationale for such an approach (instead of using the already-present, built-in, compression feature of the point-to-point encryption in SSL et. al.) is due to the fact that compression-over-SSL has been cracked (a.k.a. CRIME exploit). Subsequently Chrome, Firefox, et. al. have either not supported such a compression method or had subsequently disabled its support. Consequently the explicit compression from client to server remains relevant. Currently such 'zipping' is done via javascript (so it may be rather slowish) but perhaps in future HTML5 may enable support for zipping by the browser or the compression-over-SSL will be fixed and re-supported (e.g. newer SSL/TLS protocol versions patching previous security vulnerabilities).

Moreover, there is now an additional 'stripping' of the CSV option -- so that the javascript on the client-side is tasked with culling any of the irrelevant columns/rows from the dataset and then zipping/compressing those that remain relevant prior to being sent to the server for processing. Ideally, such a 'normalisation' of the dataset would be performed by the preceeding utilities (i.e. before WebNetCPU gets involved), but for the time-being these features remain inplace.

The aforementioned, 'strip-n-zip' option is essentially of help when uploading a new task from a network that is slow and/or expensive. Note, the actual zip.js library is a third_party code and should be installed on the deployed server explicitly (i.e. currently it is not a part of the repository, much like boost, zlib, openssl libs in C++ context are also not 'mirrored' in this repo... currently there is simply no need to do so).

Other changes (in addition to 'strip-n-zip' GUI and processing mechanisms) include:

*) Bug-fix: index.html did not correctly keep the track of attributes-count when a new task was being created. Changing any of the dataset/model did not clear previously-selected-attributes memory thereby causing erroneous extra attributes (reflected in betas rows of VCGW's configuration table).

*) Bug-fix : index.html '--repeats' and '--draws_sets_size' arguments were being sent out even for Logit, yet being completely irrelevant to such model the server rejected the submission of a new task (e.g. 'unknown argument supplied' error).

*) New feature: index.html, in the section of CSV dataset specification (when adding a new task). Now one is able (via the 'preview rows' field) to specify how many rows should be displayed in the preview of the CSV dataset (to help in choosing relevant parts of the dataset, or to make things more comfortable on a smaller screen-size devices).

*) Refactoring: index.html, GUI reogranization of checkboxes for the csv dataset options (more aligned appearence, now on-the-right-of the textual label).

*) Code typing simplification: http/server.cc, taken out some redundant "xxx() <<" when throwing exceptions containing only explicit textual strings (i.e. w/o any need to cast numbers et. al. to string).

*) Refactoring: http/server.cc:	more informative handling of zipped data argument (--filedata.zip).

*) More informative help on the contents of the CSV file: index.html, added a requirment for all fields to be numbers (e.g. not alphanumerics or general strings).

*) Bug fix: http/server.cc, in the unzipping code 'scoped_ptr' should instead have been a 'scoped_array'.

*) Bug fix: dataset_1/controller.h when verifying args, the code would assert if the choice and atttributes columns contained anything other than required whole numbers. The correct action would be to throw an exception as assertion crashes-out the server completely (yet the server should remain active to accept a retry and/or to serve other connections/clients).

*) New feature: http/server.cc is now caching the data of static/nonchanging files (instead of re-reading and re-compressing the file's data everytime a request in made for such a resource).

*) New feature (untested though): http/server.cc is now controlling the 'Cache-Control' header to tell browser to refresh the contents based on how static the files are likely to be (e.g. 24 hours for index.html, 48 hours for javascript libraries, etc.). Basically an auto-update feature (in case the user forgets/does-not-know-how-to explicitly reload the page -- CTRL+SHIFT+R or CTRL+F5 or SHIFT+click-on-reload-button).

*) GUI-refactoring in index.html, highlighted text is now wrapped around the window's width (CSS styling for 'pre' tag, white-space pre-wrap).

*) Transient (inconsequential, other than make it easier to field-test) value change for 'server_at' in the index.html (defaulting now to LAN's configuration so that authorised comps from within the office could access server without me having to remember to re-eding the setting).

*) Minor GUI-feature in index.html: 'send to server' button (in add new task window) is hidden when the actual submission process (e.g. communication with server, etc.) is active. Afterwards the button should re-appear (prevents accidental multiple-resubmission due to user clicking more than once per submission process).