Modify the config parser to use symbolized key and group names

When I parsed a configuration file, the hash keys and group names where represented as string. 
example: 
```ruby
{
  "foo" => "bar",
  "baz" => "quux",
  "123" => "456"
}
```

But, I think it will be much more convenient to deal with symbols in that case rather than strings.
example:
```ruby
{
  :foo => "bar",
  :baz => "quux",
  :"123" => "456"
}

Also, I have modified the ability to add value and add group to support the above behavior. 

I have added tests for add value and add group behavior and all the tests are passing.