Fix CreatePages
Fix CreatePages

This fixes #450.  There are two problems:

1.) We're creating a new goroutine for every page.
2.) We're calling s.Pages = append(s.Pages, page) inside each goroutine.

1 is a problem if in that if you have a ton of pages, that's a ton of goroutines.  It's not really useful to have more than a few goroutines at a time, and lots can actually make your code much slower, and, evidently, crash.

2 is a problem in that append is not thread safe. Sometimes it returns a new slice with a larger capacity, when the original slice isn't large enough.  This can cause problems if two goroutines do this at the same time.

The solution for 1 is to use a limited number of workers (I chose 2*GOMAXPROCS as a nice guess).
The solution for 2 is to serialize access to s.Pages, which I did by doing it in a single goroutine.

jygastaud/hugo,fedelibre/hugo,tubo028/hugo,ryanclarke/hugo,bramp/hugo,coderzh/hugo,gohugoio/hugo,derekperkins/hugo,Zenithar/hugo,fedelibre/hugo,MarkDBlackwell/hugo,tjyang/hugo,vbatoufflet/hugo,bogem/hugo,jygastaud/hugo,fhergomez/hugo,soundrussian/hugo,gohugoio/hugo,coderzh/hugo,fedelibre/hugo,tatsushid/hugo,gohugoio/hugo,mitchchn/hugo,badoet/hugo,Zenithar/hugo,tatsushid/hugo,mdhender/hugo,halostatue/hugo,mdhender/hugo,melo/hugo,halostatue/hugo,anthonyfok/hugo,tjyang/hugo,ffrizzo/hugo,tischda/hugo,mitchchn/hugo,MarkDBlackwell/hugo,digitalcraftsman/hugo,ifraixedes/hugo,kujohn/hugo,anthonyfok/hugo,abourget/hugo,ifraixedes/hugo,mayah/hugo,melo/hugo,bogem/hugo,derekperkins/hugo,kujohn/hugo,anthonyfok/hugo,ryanclarke/hugo,badoet/hugo,fedelibre/hugo,tischda/hugo,sprig/hugo,sprig/hugo,mdhender/hugo,ffrizzo/hugo,mayah/hugo,abourget/hugo,vbatoufflet/hugo,digitalcraftsman/hugo,soundrussian/hugo,mdhender/hugo,tubo028/hugo,fhergomez/hugo,bramp/hugo