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?
A better solution for this might be to create a new random number stream, say `STREAM_SOURCE`, in random_lcg.F90 and then just switch to that stream using `prn_set_stream` when sampling the source. Afterwards, switch back to the transport stream and that way no random numbers from the transport stream are used.