Allowing kwargs to be passed to requests methods.

.gitignore - now ignoring 'env' directory. For virtualenvs being stored
in the same directory.

core.py - updated 'get_nonce' and 'send_ws_request' functions to accept
any number of keyword arguments (kwargs) that are then passed right to
the appropriate 'requests' methods. The interface may have seemed to
change, but where 'headers' was specified before, it is now just handled
by the 'kwargs' argument. This should not change the way it is being
called. The 'timeout' arg what was previously added to the
'send_ws_request' function is now just part of 'kwargs' also.

test/test_byu_ws_sdk.py - Added two new tests to test both the
'get_nonce' and 'send_ws_request' methods.
Updated 'get_ws_session' function with kwargs.

core.py - Updated the 'get_ws_session' function to also accept 'kwargs'
to then be passed directly to the 'requests' methods being called
within.

  If a 'header' kwarg is sent, it is updated with the specific header
  settings, for Content-type, that are needed to make the request.

  The previous function signature had a 'timeout' arg that could be sent
  to indicate when the session should expire. This conflicts with the
  'requests' methods 'timeout' that indicates how long to wait before
  returning anyway. Because of this 'timeout' is now 'casTimeout'. This
  will __break backwards compatibility__, but allows for all of the
  arguments to be sent to the underlying 'requests.post' call.

test/test_byu_ws_sdk_with_input.py - I decided to create a separate test
suite for testing the 'get_ws_session' function, because of the need to
enter a net_id and password. You can run all tests as normal and be
stopped to enter a net_id and password to test, or you can run:

	`python setup.py test -s byu_ws_sdk.test.test_byu_ws_sdk`

to run all the other tests that don't require input.