Should my time series be stationary to use ARIMA model? Should my time series be stationary to use ARIMA model? If yes, so why do we do  Integration in ARIMA?
I read somewhere that ARIMA can handle non-stationary time series, what type of non-stationarity can ARIMA handle?
 A: First, you have to take into consideration that there is just one way a series can be (second order) stationary but infinite ways the series can be non-stationary. ARIMA models can handle cases where the non-stationarity is due to a unit-root but may not work well at all when non-stationarity is of another form. 
A: It should be stationary in order to use ARMA(p, q) (a short way of saying ARIMA(p, 0, q)). However, the general ARIMA model can handle nonstationary series as well.
A: 
Should my time series be stationary to use ARIMA model?

No, the I-letter stands for the procedure part, which makes stationary time series out of your non-stationary one. This procedure is called "differencing". 
However, if you want to use ARMA(p, q) straightforward, then your time series BETTER be stationary. In practice, there is always some degree of uncertainty about "stationarity", since you re only observing the realisations (aka time series), and do not know the real stochastic process random variables. This uncertainty means you just approximately see it's stationary (with a test/graph/etc.), and try to apply ARMA model, or brute force the d-number, though this will give you subpar performance.
ARIMA = ARMA + preliminary differencing procedure. 

Why we do Integration in ARIMA

Exactly as stated above: to make your time series stationary.

I read some where that ARIMA can handle non stationary time series,
  what type of non stationarity can ARIMA handle?

It can handle 2 types of non-stationarity: hidden trend (linear, polynomial, seasonals, etc.), and unit roots. 
Differencing removes any type of polynomial trend (Mentioned + Exercise in first chapters in Brockwell, https://www.amazon.com/Introduction-Forecasting-Springer-Texts-Statistics/dp/0387953515). The higher-degree polynomial is, the more differencing you need. If there is seasonal pattern, you have to remove it with seasonal differences (different from normal d, google SARIMA). 
On the other hand, differencing removes 1 unit root per application. If you have 2 unit roots, you do differencing twice. 3 unit roots - three times, etc.
If you are familiar with time series notation/little theory (lag operator):
In fact, ARIMA(p, d, q) model is ARMA(p, q) model with d unit roots. it can be easily seen from its formula:
$(1 - \theta_1B)(1 - B)y_t = (1 + \beta_1B + \beta_2B^2)\epsilon_t$
This is ARIMA(1, 1, 2) process. In the left side the factor $(1 - B)$ is the differencing operator. However, if you just multiply it with the preceding $(1 - \theta_1B)$, you will get $1 - (\theta_1 + 1)B + \theta_1B^2$ which you can then rewrite:
$(1 - (\theta_1 + 1)B + \theta_1B^2)y_t = (1 + \beta_tB + \beta_{t-1}B^2)\epsilon_t$
But its just ARMA(p+d, q) model expression! Now you can clearly see how differencing makes TS stationary (from unit roots) - you difference the data $y_t$ with $(1 - B)$ first, and you are left with 
$(1 - \theta_1B)y'_t = (1 + \beta_tB + \beta_{t-1}B^2)\epsilon_t$
which is already without unit-roots.
Showing any degree polynomial removal with differences is much harder, you can try exercise in Brockwell book (I just trust the author).
A: @Stats, @mlofton, and @asdf are all correct. Let me try to summarize.
Non-stationarity is not a single concept. Rather it is the lack of a single concept -- stationarity. This means that there are (as @Stats mentions) an infinite number of non-stationary structures. There is a non-stationary model where the truth is an ARIMA model (with your specified p,d, and q), but where the coefficients associated with the p and q change every 10 periods. Could the ARIMA model do a good job of modeling that? Making predictions in that setting? Learning coefficients under those conditions? No.
But there are some non-stationary structures the ARIMA model can handle. An $AR(1)$ model with $\phi=1$ is non-stationary in one sense -- the distribution differs for each time period. But we can still model it successfully with an ARIMA (under some conditions). Similarly, data which follows the ARIMA structure more generally is inherently non-stationary. However as long as it sticks to that type of non-stationarity -- namely some finite number of differences being modeled by an ARMA process  -- things are manageable.
This is why there is some disagreement. It is true that there are types of non-stationarity that ARIMA models can handle, but it is also true that there are many types that it is totally worthless in the face of.
