func NewStore() (s *Store, err error) {
	db, err := sqlx.Open("sqlite3", filepath.Join(config.Current.BaseDir, DB)+SQLiteOpts)
	if err != nil {
		return nil, err
	}
	db.SetMaxOpenConns(1)
	db.MustExec(JobSchema)
	s = &Store{
		db:   db,
		next: nil,
		stop: make(chan bool),
		done: make(chan bool),
	}
	err = s.UnclaimRunning()
	return
}
NewStore creates a fully initialized Store and sets up Bolt Buckets as needed
package jobs
import (
	"errors"
	"fmt"
	log "github.com/DataDrake/waterlog"
	"github.com/getsolus/ferryd/config"
	"github.com/jmoiron/sqlx"
	"path/filepath"
	"sync"
	"time"
)
var (
	ErrNoJobReady = errors.New("No jobs ready to run")
)
const (
	DB = "jobs.db"
	SQLiteOpts = "?cache=shared"
)
type Store struct {
	sync.Mutex
	db   *sqlx.DB
	next *Job
	stop chan bool
	done chan bool
}