Forcing page number to start from the title page

The titlepage environment in the article class resets the page number to 1 both at the beginning and at the end; when the titlepage option is specified, abstract uses the titlepage environment internally. Since you want continuous numbering, the remedy is to redefine titlepage in order to remove the page number resetting.

\documentclass[12pt,titlepage]{article}

\usepackage{harvard}
\usepackage{setspace}  
\usepackage{ifthen}
\usepackage{booktabs}
\usepackage{array}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage[font=bf, labelsep=period]{caption}
\usepackage{changepage}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{endnotes}

\makeatletter
\renewenvironment{titlepage}
 {%
  \if@twocolumn
    \@restonecoltrue\onecolumn
  \else
    \@restonecolfalse\newpage
  \fi
  \thispagestyle{empty}%
 }
 {%
  \if@restonecol
    \twocolumn
  \else
    \newpage
  \fi
 }
\makeatother

\begin{document}


\title{some title}
\author{author stuff}

\maketitle


\newpage
\begin{abstract}
  abstract stuff
\end{abstract}

\newpage
\doublespacing

\section*{Introduction}

blah blah blah

\end{document}

Note that \doublespace is wrong (not only typographically): the correct declaration is \doublespacing. Also \singlespace doesn't take an argument (and it is wrong in the same way); until you don't issue \doublespacing, \singlespacing is implied.

It's easy to show the page numbers also in the title page and in the abstract page:

\documentclass[12pt,titlepage]{article}

\usepackage{harvard}
\usepackage{setspace}  
\usepackage{ifthen}
\usepackage{booktabs}
\usepackage{array}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage[font=bf, labelsep=period]{caption}
\usepackage{changepage}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{endnotes}

\makeatletter
\renewenvironment{titlepage}
 {%
  \if@twocolumn
    \@restonecoltrue\onecolumn
  \else
    \@restonecolfalse\newpage
  \fi
  \thispagestyle{plain}%
 }
 {%
  \if@restonecol
    \twocolumn
  \else
    \newpage
  \fi
 }
\makeatother

\begin{document}


\title{some title}
\author{author stuff}

\maketitle


\newpage
\begin{abstract}
  abstract stuff
\end{abstract}
\thispagestyle{plain}

\newpage
\doublespacing

\section*{Introduction}

blah blah blah

\end{document}

I have started hacking the \thispagestyle and \setcounter commands, but it wasn't a good idea, please try \addtocounter{page}{2}, I enclose an example.

\documentclass[12pt,titlepage]{article}
\usepackage{setspace}
\begin{document}
% Beginning of hack...
%\let\oldthispagestyle=\thispagestyle % If we want to see a page number.
%\def\thispagestyle#1{} % If we want to see a page number.
%\let\oldsetcounter=\setcounter
%\def\setcounter#1#2{}
% End of hack...
\singlespacing
\title{My title}
\author{Author}
\maketitle
\newpage
\begin{abstract}
  Abstract stuff.
\end{abstract}
\newpage
\doublespacing
\addtocounter{page}{2}
% Restore commands...
%\let\thispagestyle=\oldthispagestyle % If we want to see a page number.
%\let\setcounter=\oldsetcounter
% End of restoring commands...
\section*{Introduction}
My first page.
\newpage
Another text.
\end{document}

mwe