Are all mathematical statements true or false?
I would like to know whether it can be possible for a statement to be neither true nor false. Consider the age old paradox.
"This statement is not true"
Clearly it cannot be true. If it is false. Then it is 'not not true' which perhaps suggests it is true. In any case, we would commonly say this statement is 'neither true nor false' as both lead to a contradiction. Can we say 'neither true nor false' is a formal property of logical statements in the same way 'truthfulness' and 'falsity' are formal properties. Am I right in saying this is different to what Godel said. Did he not refer to statements like
"This statement cannot be proved"
I.e. The above statement may be true, but we will never be able to prove it.
To answer this question, it is necessary to be more precise about the meaning of "true" and "false".
In mathematics, we always work in some theory $T$ (usually ZFC), in which we can prove things. So there is no ambiguity about formulae being provable or unprovable. If the theory is consistent (which we hope), there is no statement $A$ such that both $A$ and $\neg A$ are provable. However, Gödel showed that there are some statements $A$ with both $A$ and $\neg A$ unprovable (in most mathematical theories). In this case we say that $A$ is undecidable.
In this case, what does it say about $A$ being true or false? To give a meaning to this, it is necessary to understand the notion of model. A model is a mathematical structure in which our theory is valid (i.e. all its axioms are verified). It is only in a model that we can say that every statement is either true and false. If we stay with our theory, only "provable" and "unprovable" make sense. In particular, if $A$ is provable, it means $A$ is true in all the models of our theory. The converse also holds, this is the completeness theorem of Gödel: if $A$ is true in all models of $T$, then it is provable in $T$. So if $A$ is undecidable, it means it is true in some models and false in others. So the statement does not have a truth value until we choose a model to evaluate it.
What Gödel showed is that in theories that are sufficiently expressive, we can define a statement that says "I'm unprovable", because provability can be reduced to mathematical operations, and has a concrete meaning even if we only know the theory. However, it is impossible to express "this statement is false", because "false" does not mean anything in the theory, we need to refer to a model to express it. This is why your paradoxical statement is not a well-defined mathematical statement.
ADDED (following MJD's comment)
Now, when defining a theory, we usually have a model in mind. For instance if you take Peano's arithmetic with language $(0,successor, +,\times)$, you are thinking of the model $\mathbb N$ of natural numbers (called standard model of arithmetic). We could imagine that we could define a statement "I am false in the model $\mathbb N$". However, Tarski showed that is impossible, with his undefinability of truth theorem.
dkuper's answer is a nice explanation of how mathematicians understand truth, the related notion of provability (the nature of this relationship is probably the motivating topic for the whole of mathematical logic), and the whole can of worms engendered by the notion of independence.
I want to address something else. You also gave an example of the sentence
This statement is not true.
for which things are a little different. As you noted, within a two-valued logic framework, this statement cannot be true or false!
The usual solution is to restrict the notion of mathematical truth to sentences written in a specific formal language. In fact, it is precisely to avoid these self-referential paradoxes that we spend all that time in elementary logic classes defining well formed formulas (or wffs).
If $\mathcal{W}$ is the set of well formed formulas, then a truth function is a function $v:\mathcal{W}\to\mathcal{V}$, where $\mathcal{V}$ is the set of allowable truth values. The set $\mathcal{V}$ is usually assumed to have some algebraic structure (a lattice usually), and $v$ is required to preserve that structure in some way (you can think of truth as a homomorphism!).
(The most common structures for $\mathcal{V}$ are the set $\{\top,\bot\}$ (two valued logic), some other Boolean algebra (classical logic), a Heyting algebra (intuitionistic logic), or a fuzzy lattice such as $[0,1]$ (fuzzy logic).)
By defining the set of grammatically permissible sentences recursively, such self referential sentences are hard to construct (although not impossible, as Godel showed), but more importantly, there is no way to introduce the truth function within the language - it is something that operates on the language from without.
(Provability is something else, which is why Godel was able to code the self referential sentence you cited before. The fact that unlike provability, truth can't be moved inside the framework in any reasonable way is where Tarski's undefinability of truth theorem, noted in dkuper's answer, comes in.)
So, the bottom line is that truth is a function, the domain of that function is carefully constrained, and the example of the sentence you gave above lies outside that domain. Its truth is therefore undefined, just as the reciprocal of $0$ and the square root of $-1$ are.