Added particle restart case for fixed_source runs

There is a bug in the write_particle_restart subroutine that occurs when a particle is lost during a fixed source run.  write_particle_restart always calls
```
    src => source_bank(current_work)
```
but the source_bank is only filled if it's an eigenvalue run.

This PR adds some select case code to handle fixed_source runs.

There is one part of this PR that I am uncertain of:  I moved the definition of source_site from the fixed_source module to the global module.  The fixed_source module has this line of code with the source_site declaration:
```
!$omp threadprivate(source_site)
```
I am unfamiliar with OpenMP.  Do I need to move this command to global.F90 as well or leave it in fixed_source.F90?