This can all be done as a oneliner.
for i in *.* ; do mv "$i" "${i%.*}_$(date --reference "$i" +%Y%m%dT%H%M).${i##*.}"; done
For a literal timestamp, i.e., seconds since the epoch, you can just use:
for i in *.* ; do mv "$i" "${i%.*}_$(date --reference "$i" +%s).${i##*.}"; done
This has a safety check to only operate on files whose names contain dots; it correctly handles files with spaces in the names; and it assumes (as would usually be the case) that the LAST dot separated field is the extension, rather than the FIRST dot separated field being the filename and the rest being an extension.
Credit to muru for the --reference bit; I didn't know about that option.
20141201T1718?ls -lain the question.