Deprecation removal and other idiomatic updates

Remove or replacing old codes with more modern idioms
1. Deprecated `BaseException`
2. `while 1:`
3. updated to `print()` function


These look pretty benign to me, I'm sure we'll take them. Thanks!


Your pull request does more than you claim. Either you need help with using git or you're trying to get some unnecessary changes into master via a back door. Please strip you print statement related commits from this PR.

Also I'm curious where it says that `while 1` is deprecated.


Specifically f9b7d92, 8370e66, and 4656c9b were already part of a PR that was rejected.


I don't understand what's wrong with converting some print statements to print functions. The whole code base uses
 print function.

As for `while 1:` see last paragraph
http://www.diveinto.org/python3/porting-code-to-python-3-with-2to3.html

From last paragraph: "Some, like the while 1: loop, date back to Python 1. (Python didn’t have a true boolean type until version 2.3, so developers used 1 and 0 instead.) Modern Python programmers should train their brains to use modern versions of these idioms instead. "

And as always Explicit is better than implicit, `while 1:` is less explicit than `while True:`


The whole codebase uses it? You mean the [one place](https://github.com/kennethreitz/requests/blob/master/requests/certs.py#L23) where it's used uses it.

With respect to the [`while`](http://www.diveinto.org/python3/porting-code-to-python-3-with-2to3.html#idioms) portion, it is not "deprecated" as you say. There is no Deprecation warning raised because 1 is truthy, much in the same way as `while 'true'` would work. Exact language is important.

Finally the body of the pull request itself (the description) says:

```
Remove
1. Deprecated BaseException
2. while 1:
```

No where in that list does it say "fixing print statements". As someone who read the description in their email first and saw how many files were changed, they were curious but not worried. When I actually looked at the commits, however, I felt lied to. Again this is a case of inexact language.

If you remove the leading space to your print statements, e.g.,

``` python
print (foo)
# becomes
print(foo)
```

As is idiomatic, then I'm :+1:. 


For `print`, point acknowledged. See updated PR description.

And again arguing about `while True:` and `while 1:` which is better simply waste of time. Which is better is clearly explained in the "Zen of Python". Yes, there's may be more other ways to do something, but that doesn't mean we should stick to bad practices or idioms.

`There should be one-- and preferably only one --obvious way to do it.`

In the codebase there are two types of forever while `while True:` and `while 1:` which is confusing to beginners and certainly using two ways to do something. 

And for deprecation part, sorry for not being pedantic. But I think, some bad practices when there are better ways to do is already available, should be avoided even if your compiler doesn't issue deprecation warning. This is more true for language like Python where readability is topmost priority.


I think a lot of negativity in this discussion comes from language 
barriers. Even though i agree with @sigmavirus24 about the incorrect 
description, the resulting diff looks reasonable, and i'd like to see 
these changes in requests, regardless of how they're "described" or 
"labelled".


@untitaker I was not objecting to the changes themselves. I have far more to maintain than just requests and I do far more offline than anyone really knows or cares to know about. @kennethreitz has an ostensibly similar schedule (which is why he has minions) and having exact language to review in an email makes our lives far easier. Stressing that point with @riyadparvez will only make future pull requests to this and other projects on his behalf better and perchance allow them to be merged in a quicker fashion.


Apologies, I didn't give this a sufficiently good code review this morning.

In principle this is fine. I need you to remove the change in the urllib3 code, however, as we don't accept changes to that codebase in this repository. =)


>  I didn't give this a sufficiently good code review this morning

Neither did I clearly. I didn't notice the change to the `urllib3` file.


Back to `BaseException` in urllib3


LGTM.

@riyadparvez if you feel that strongly about `BaseException` then feel free to submit a PR to shazow/urllib3


Cool, this is great. Thanks @riyadparvez! :cake:


Replace `BaseException` into urllib3 https://github.com/shazow/urllib3/pull/255


We pull urllib3 in periodically so it will make its way in.