Definition of a tensor I think a tensor of rank $m$ on an $n$-dimensional space $V$ is a multilinear map $T : V^n \to \mathbb{R}$. For example a tensor of rank $3$ is a multilinear map $T:V^3 \to \mathbb{R}$. If $\{\textbf{e}_i\}$ are some basis of $V$ and $\{\textbf{e}^j\}$ are inverse basis, then $T^i_{jk} = T(\textbf{e}^i, \textbf{e}_j. \textbf{e}_k)$.
However in a book, a rank $(p,q)$ tensor is defined to be a map $T:(V^*)^q \times V^p \to \mathbb{R}$ and $T(\textbf{e}^{i_1},...,\textbf{e}^{i_q}, \textbf{e}_{j_1}, ...,\textbf{e}_{j_q})=T^{{i_1}...{i_q}}_{{j_1},...,{j_q}}$. Here $V^*$ is the dual space of $V$. Are these two definitions equivalent? How can I move lower and upper indices in the second definition? Could anyone please explain?

This is my source of confusion. Basis and inverse basis are stated to live in the same space and express the same vector differently. What should I understand by this? This picture is from Ta-Pei Cheng p.198.
 A: Okay, I see the issue.  Contrary to my second comment, it is possible to formulate full tensor spaces without referencing a dual space.  However, this is an old-school approach.  It is ultimately equivalent to the more modern formulation, but the latter is conceptually cleaner.
I'll demonstrate the modern approach, and then show how it is equivalent to the approach given in your book.

Consider a vector space $V$ over the real numbers.  If we choose a basis $\{e_i\}$, we can expand any vector $\bf{X}$ as
$${\bf{X}}= X^i e_i\ \ , \ \ X^i\in\mathbb{R}$$
The dual space $V^*$ consists of the linear maps from $V$ to $\mathbb{R}$.  $V^*$ is a vector space as well, so we can choose a basis $\epsilon^i$ and expand any dual vector (aka covector) $\omega$ as
$${\boldsymbol{\omega}} = \omega_i \epsilon^i\ \ , \ \ \omega_i \in \mathbb{R}$$
We canonically choose the dual basis such that $\epsilon^i(e_j) = \delta^i_j$.  Therefore, the action of a dual vector on a vector can be written like this:
$$\boldsymbol\omega(\boldsymbol X) = \omega_i \epsilon^i\big(X^j e_j\big) = \omega_iX^j\epsilon^i\big(e_j\big) = \omega_i X^j \delta^i_j = \omega_iX^i$$
where we note that we can pull the components $X^i$ out because covectors are linear maps.

A $(p,q)-$tensor is a multilinear map which eats $p$ covectors and $q$ vectors and spits out a real number.  For example, a $(1,2)-$tensor ${\bf{T}}$ is a map
$$ {\bf{T}} : V^* \times V \times V \rightarrow \mathbb{R}$$
so we have
$${\bf{T}}(\boldsymbol\omega,\boldsymbol X,\boldsymbol Y)={\bf{T}}(\omega_i \epsilon^i,X^j e_j,Y^k e_k) = \omega_i X^j Y^k {\bf{T}}(\epsilon^i,e_j,e_k) \equiv \omega_i X^j Y^k T^i_{\ j\ k}$$
where
$${\bf{T}}(\epsilon^i,e_j,e_k)\equiv T^i_{\ \  j\ k}$$
are the components of ${\bf{T}}$ in the chosen basis.

A metric tensor ${\bf{g}}$ is a symmetric, positive-definite $(0,2)-$tensor.  A choice in metric induces an inner product between vectors:
$$X\cdot Y := {\bf{g}}(X,Y) = {\bf{g}}(X^i e_i,Y^j e_j) = X^i Y^j {\bf{g}}(e_i,e_j) = X^i Y^j g_{ij}$$
The positive-definiteness of ${\bf{g}}$ allows us to define an isomorphism between $V$ and $V^*$.  Given some vector $\boldsymbol X$, we define its covector dual $\boldsymbol{\tilde X}$ by feeding $\boldsymbol X$ to the metric and leaving the second slot open:
$$ \boldsymbol{\tilde X} := \boldsymbol g(\boldsymbol X,\bullet) $$
so
$$\boldsymbol{\tilde X}(\boldsymbol Y) = \boldsymbol g(\boldsymbol X,\boldsymbol Y)$$
We can find the components of $\boldsymbol{\tilde X}$ by feeding it the basis vector $e_i$:
$$\tilde X_i = \boldsymbol{\tilde X}(e_i) = \boldsymbol g(\boldsymbol X,e_i) = \boldsymbol g(X^j e_j,e_i) = g_{ji} X^j = g_{ij}X^j$$
(where we have used the fact that $\bf g$ is symmetric, so $g_{ji}=g_{ij}$).

I'll stop here, as we are now equipped to answer the spirit of your question.  Each vector $\bf X$ has a unique covector "partner," which I've denoted $\boldsymbol{\tilde X}$.  However,  $\bf X$ lives in the vector space while $\boldsymbol{\tilde X}$ lives in the dual space, so they are emphatically different objects.
Similarly, given a $(1,1)-$tensor $\bf T$, we can define a $(0,2)-$tensor $\bf Q$ by the following prescription:
$$\boldsymbol Q(\boldsymbol X,\boldsymbol Y) := \boldsymbol T(\boldsymbol{\tilde X}, \boldsymbol Y)$$
from which it follows that in component form,
$$Q_{ij} = g_{ik} T^k_{\ \ j}$$
$V$ and $V^*$ are isomorphic to one another, and the old-school approach is to treat that isomorphism as equality.  That is, we identify $\bf X$ and $\boldsymbol{\tilde X}$ as the same object, and regard its "vector expansion" and "covector expansion" as different expressions of the same thing.
Similarly, we consider the above-defined tensors $\bf T$ and $\bf Q$ as being the same object, which takes different forms depending on whether (i) we feed it vectors which are both expanded in the same basis, or (ii) we feed it vectors which are expanded in different bases (!?).

To me, this is horrifyingly messy and convoluted.  It is far neater to treat $\bf X$ and $\boldsymbol{\tilde X}$ as partners which live in different spaces.  If we do that, then the tensors $\bf T$ and $\bf Q$ become different maps which are nonetheless related to each other via the isomorphism between $V$ and $V^*$.  
From this point of view, the "raising and lowering of indices" is an abuse of notation - rather than saying
$$X_i = g_{ij}X^j$$
we should really say that 
$$\tilde X_i = g_{ij} X^j$$
and recognize that the $\tilde X_i$'s and $X^j$'s are the components of different objects.
This approach is already cleaner, but it becomes even more so when we consider higher level abstractions like the tangent bundles to manifolds, differential forms, the actions of groups on coordinate frames, connections and parallel transport, etc.  
However, the old-school approach is not wrong, and as long as you understand very precisely what you're doing, you're free to do whatever you want.
A: First of all a little correction: the tensor $T^i{}_{jk} = T(\textbf{e}^i, \textbf{e}_j. \textbf{e}_k)$ you mentioned is a multilinear map $T: V^* \times V^2 \to \mathbb{R}$ not from $V^3$.

Now the answer. Given a vector space $V$, a (q, p)-tensor (q-contravariant p-covariant tensor) is, as you said, a map $T:(V^*)^q \times V^p \to \mathbb{R}$ 
 with components in certain basis: 
$$T(\textbf{e}^{i_1},...,\textbf{e}^{i_q}, \textbf{e}_{j_1}, ...,\textbf{e}{}_{j_p})=T^{{i_1}...{i_q}}{}_{{j_1},...,{j_p}}$$
With $V^*$ is the dual space of $V$. 
You can put together q and p, simply saying that $T$ is a ($q+p$)-rank tensor, but only if you have something that maps naturally $V$ into its dual ("naturally" means "in a way that does not depend on your basis"). Typically this object is a metric (an inner product), and with it you can raise and lower the indices; that's why you should not put an index over another one (see how I wrote the components of the tensor).
It can be proved (Riesz-Frechet theorem) that, given a vector $x\in V$ there is always one (and only one) form $f_x \in V^*$ that acts in the following way:
$$ f_x(y) = x \cdot y \quad \forall y \in V$$ 
where the dot is the inner product. This establishes the natural identification $x \leftrightarrow f_x$. Indeed this is the fact that permits the use of the famous Dirac notation in quantum mechanics.
Consequently, if the components $x$ in certain basis $B$ are $x^i$, what we say is that the components of $f_x$ in the dual basis $B^*$ are $x_i$. They are different objects but the metric relates them.
A general tensor $T$ is a linear combination of tensor products of vectors and forms. So if you have an object that connects vectors and forms you can use it in these products to produce a different tensor $T'$ ("$T$" with some indices lowered and others raised). However, we use the same notation for the components of $T$ and $T'$ and not $T_{ijk}$ and $T'{}^i{}_{jk}$, for instance. We omit the prime because if we compute the componentes of $T'$ we can always switch from this description to the other using the metric: $T_{ijk} = g_{li} T'{}^l{}_{jk}$. So let's simplify the notation and call $T'{}^l{}_{jk} \equiv T{}^l{}_{jk}$. In practice, we say that $T$ and $T'$ are not different tensors (actually they are!) and they are just different "versions" of the same "thing".
It is exactly what we do when we say "contravariant" or "covariant" components of a vector. Strictly speaking only the contravariant ones are components of the vector, the others are components of the associated form in the dual space. But we identify them.
